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 으로 값이 매핑 된다.