컴공생의 다이어리

[MyBatis] parameterType, resultType에 내부 클래스(inner class) 사용 본문

Development/Spring & SpringBoot

[MyBatis] parameterType, resultType에 내부 클래스(inner class) 사용

컴공 K 2023. 4. 30. 00:01

[MyBatis] parameterType, resultType에 내부 클래스(inner class) 사용

MyBatis의 paramterType과 resultType에서 내부 클래스를 사용하는 방법에 대해 정리하고자 한다.

 

 

 

우선 paramterType과 resultType에서 내부 클래스를 사용하기 위해서는 아래와 같이 내부 클래스가 static으로 선언되어 있어야 한다. 

public class Outer {
    public static class InnerA {
    	// ...
    }

    public static class InnerB {
    	// ...
    }
}

 

 

그리고 MyBatis에서 사용시 아래와 같이 $를 사용해서 내부 클래스를 타입으로 설정하면 된다. 점(.)은 경로를 타고 갈 때 사용하고 $는 inner class를 사용하고 싶을 때 사용하면 된다.

<select id="test" parameterType="Outer$InnerA" resultType="Outer$InnerB">
	...
</select>

 

 

 

 

 

 

 

 

 

 

https://qna.programmers.co.kr/questions/1753/mybatis%EC%97%90%EC%84%9C-inner-class-%EC%82%AC%EC%9A%A9%EB%B0%A9%EB%B2%95%EC%9D%B4-%EA%B6%81%EA%B8%88%ED%95%A9%EB%8B%88%EB%8B%A4

 

MyBatis에서 inner class 사용방법이 궁금합니다

<select id="testSql" parameterType="ParameterInfo" resultType="ResultDataInfo"> SELECT col1, col2, col3 FROM TEST_TABLE WHERE REG_DATE >= date_add(now(), INTERVAL -1 DAY) AND co1 = #{col1} LIMIT 10

qna.programmers.co.kr

 

728x90
Comments