MyBatis
오라클 + mybatis resulttype 에서 낙타표기형식(camelcase)으로 자바 프로퍼티 자동 매핑 하기
xemaker
2017. 6. 22. 15:02
오라클 + mybatis resulttype 에서 낙타표기형식(camelcase)으로 자바 프로퍼티 자동 매핑이 되어서 신기해서 어떻게 이렇게 되지 하고 찾아봤다.
보통 오라클에서 컬럼명을 쓸때 언더바_ 를 사용한다.
하지만 자바에서는 언더바를 안쓰고 캐멀케이스 (camelcase) 즉, 낙타표기 형식을 사용한다.
그래서 헷갈리는데 이런경우 mybatis에서는 mapUnderscoreToCamelCase 세팅을 지원한다.
mapUnderscoreToCamelCase 속성은 언더바(_)로 구분되는 데이터베이스 컬럼 명과
낙타 표기 형식을 따른 자바 프로퍼티를 자동 매핑할지 여부를 지정한다.
기본 설정은 비활성 (false) 상태이다.
mybatis-default-config.xml 에 있었다.
<configuration>
<settings>
<setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>
</configuration>
맵 객체에 낙타 표기 형식의 프로퍼티에 정상적으로 바인딩 하기 위해서는 아래와 같이
mapUnderscoreToCamelCase 속성 값을 'true'로 설정하면 된다.
그리고 parameterType에 VO를 적용하면
mybatis xml 쿼리에서 DEPT_NM 으로 사용해도
VO에 있는 deptNm 으로 값이 매핑 된다.