MyBatis를 정석대로 사용해 보겠습니다.
맵퍼 파일에 쿼리를 정의하고 모델링을 합니다.
<select id="selectUsers" resultType="com.devfoxstar.model.User">
SELECT
(USER_ID)AS userId,
(USER_NAME)AS userName
FROM USER
</select>
package com.devfoxstar.model;
public class User {
private int userId;
private String userName;
public int getUserId() {
return userId;
}
public void setUserId(int userId) {
this.userId = userId;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName
}
}
그런데 쿼리에 정의된 기본 컬럼명과 모델에 정의된 필드명이 일치하지 않습니다.
그래서 두 개의 네이밍을 맞추는 변환 과정을 거쳤습니다.
간단한 쿼리는 상관없는데, 컬럼명이 많아지면 굉장히 불편합니다.
이때 자동으로 네이밍을 맞춰주는 설정이 있습니다.
mybatis-config.xml 설정 파일에 CamelCase 조건을 추가하면 됩니다.
<configuration>
<settings>
<setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>
</configuration>
이제 따로 컬럼명을 변환하지 않아도, 마이바티스에서 자동으로 맵핑해 줍니다.
그럼 아래와 같이 간단하게 쿼리를 정의할 수 있습니다.
<select id="selectUsers" resultType="com.devfoxstar.model.User">
SELECT
USER_ID,
USER_NAME
FROM USER
</select>