xml 파일에서 select sql문을 작성하였을 때, java의 Dto 변수명이 해당 DB 컬럼명과 다를 경우 null 값이 출력된다.
하지만 반드시 Dto와 DB네이밍을 일치시킬 필요는 없다. 오히려 java는 언더바(-)사용을 권장하지 않는다고 한다.
3가지 방법이 있다.
이 방법이 보통 내가 프로젝트를 하면 사용하는 방법이다.
<setting name="mapUnderscoreToCamelCase" value="true" />
select user_id as userId,
...
from USER_TB
<resultMap id="userResultMap" type="User">
<id property="id" column="user_id" />
<result property="username" column="username"/>
<result property="password" column="password"/>
</resultMap>
<select id="selectUsers" resultMap="userResultMap">
select user_id, user_name, hashed_password
from some_table
where id = #{id}
</select>