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>