자주 쓰는 Mybatis 설정 정리

mybatis-config.xml 설정

Type Aliases 설정

<configuration>
  <typeAlias alias="ClassCondition" type="com.chunjae.lrn.dto.ClassCondition"/>
  <typeAlias alias="ClassVO" type="com.chunjae.lrn.domain.ClassVO"/>
</configuration>

mybatis 쿼리에 parameterType, resultType으로 사용되는 클래스들 별칭을 등록해둘 수 있습니다.

컬럼명 자동 매핑 설정

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

Mybatis가 스네이크 케이스 DB 컬럼을 카멜케이스 VO 필드로 자동 매핑해주는 설정입니다.

SELECT 쿼리 예시

<select id="selectClass" parameterType="ClassCondition" resultType="ClassVO">
  SELECT
    class_id,
    class_name
  FROM
    class_table
  WHERE
    class_id = #{classId}
</select>

SELETE 쿼리 조회 결과에서 컬럼마다 AS를 써주지 않아도 매핑되어서 편리합니다.
Join, 컬렉션 매핑 등 복잡한 구조에서 resultMap을 사용하게 되면 자동 매핑되지 않습니다.