development/db

MyBatis에 카멜 방식 적용하기

알 수 없는 사용자 2018. 3. 9. 17:51
반응형

MyBatis xml에서 쿼리 결과 값을 받을 때.


DB 컬럼들이 이미 ABC_DEF 이렇게 대문자로 이루어진 경우


VO에 set, get을 하려면 setABC_DEF(), getABC_DEF()로 해야 한다.


그렇다고 컬럼 조회 시 대소문자 구분을 안한다고 소문자로 쿼리를 날려도 매한가지다.


setabc_def(), getabcd_def()로 만들 것인가?


우리는 이미 VO가 카멜 방식으로 setAbcDef(), getAbcDef()에 익숙해져 있다.


따라서 xml에서 값을 받을 때부터 카멜 방식으로 받고 싶은데..일일히 아래 처럼 코딩할 수도 없는 노릇이다.


SELECT ABC_DEF AS abcDef FROM TABLE


이리하여 MyBatis에서는 카멜 자동 변환 기능을 제공하오니,


간단하게 mybatis-config.xml 파일에 아래와 같이 선언하면 된다.


<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE configuration

PUBLIC "-//mybatis.org//DTD Config 3.0//EN"

 "http://mybatis.org/dtd/mybatis-3-config.dtd">

<configuration>

 <settings>

    <setting name="mapUnderscoreToCamelCase" value="true"/>

 </settings> 

</configuration>


but!!!! 누구는 map에도 먹힌다고 하는데 난 map에 안 먹히고 VO에만 먹혔다.


나만 그런건가.....?

반응형

'development > db' 카테고리의 다른 글

MySQL에 대한 소개 글  (0) 2018.03.16
[MYSQL] n개 데이터 랜덤으로 뽑기  (0) 2018.03.06