MyBatis3 typeAlias 사용하기
이전에 mybatis에서 반환되는 결과값을 자바빈(vo)를 통해 받는법을 설명하였다.
당시에는 resultType에 vo 경로를 풀 경로로 지정했는데, 예를들면 resultType="com.test.vo.TestVo" 이라고 작성했다.
패키지명이 길어지면 경로를 작성하는데 불편함이 따르는데, mybatis에서 제공하는 typeAlias를 이용하면 resultType을 simple하게 작성할 수 있다.
쉽게 설명하자면 vo에 alias(별칭) 이름을 달아주고 mybatis에 설정만 해주면 resultType으로 alias 이름을 그대로 사용할 수 있다.
<select id="getContentsP" parameterType="hashmap" resultType="test"> |
사용법은 크게 2가지 방법이 있다.
클래스 단위 등록 |
mybatis 설정 파일에 typeAliases 등록한다.
<settings> |
패키지 단위 등록 |
1. vo에 Alias 작성
package com.test.vo; |
2. mybatis 설정 파일에 패키지 등록
<settings> |
나의 경우는 클래스 단위보다 패키지 단위 등록을 선호하는 편이다.
vo 를 작성할경우 각 서비스별로 Vo 를 한쪽으로 모아놓는 편인데, 이 때 패키지 등록으로 한번에 사용할 수 있다.
myBatis에서 제공하는 typeAlias의 장점은 딱 1가지 이다. 타이핑 할 내용이 줄어든다는 점?
무분별하게 typeAlias를 사용하면 유지보수시에 고생할 수도 있으므로 프로젝트별로 typeAlias를 사용할것인지 미리
검토한 후에 사용하는게 좋다. 또한 사용하기로 했다면 네이밍을 어떻게 가져갈 것인가를 미리 정해두는게 좋다.