Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags more
Archives
Today
Total
관리 메뉴

두리공장

Mybatis 에서 model 에서 innerClass 를 사용하려면?? 본문

java

Mybatis 에서 model 에서 innerClass 를 사용하려면??

두리공장 2022. 7. 28. 19:53

필요에 따라서는 VO를 계속 만들지 않고 innerClass를 사용하는 경우가 있다.
innerClass 는 아래의 형태와 같다.

@Data
public class CommonVO {
	@Getter
	@Setter
	public static class BOOK {
		private String column1;
		private String column2;
		private String column3;
		private String column4;		
	}
}

그런데, mybatis에서 이러한 모양의 모델을 불러와야 할 경우에, alias가 안먹는 경우가 있다.
이때에는 아래와 같이 정의해 준다.

<typeAlias type="com.xxx.vo.CommonVO$BOOK" alias="CommonVO$BOOK" />

이렇게 하면, mapper에서 아래와 같이 사용할 수 있다.

<select id="getBOOK" parameterType="CommonVO$BOOK" resultType="CommonVO$BOOK">

여담으로, RestAPI로 사용할 경우, 필드값에 null이 있을 경우 json에서 보이지 않는 경우도 있다. 하지만, 빈 값으로라도 보이게 하려면 아래와 같이 셋팅한다.

	<settings>
   		<setting name="callSettersOnNulls" value="true"/>
   		<setting name="jdbcTypeForNull" value="VARCHAR" />
	</settings>