출처: http://fruitdev.tistory.com/37
[과일가게 개발자]
이전에 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">
</select>
사용법은 크게 2가지 방법이 있다.
*클래스단위 등록
mybatis 설정 파일에 typeAliases 등록한다.
<settings>
...
</settings>
<typeAliases>
<typeAlias alias="test" type="com.test.vo.TestVo"/>
</typeAliases>
*패키지단위 등록
1. vo에 Alias 작성
package com.test.vo;
import org.apache.ibatis.type.Alias;
@Alias("test")
public class TestVo {
...
}
2. mybatis 설정 파일에 패키지 등록
<settings>
...
</settings>
<typeAliases>
<package name="com.test.vo" />
</typeAliases>
나의 경우는 클래스 단위보다 패키지 단위 등록을 선호하는 편이다.
vo 를 작성할경우 각 서비스별로 Vo 를 한쪽으로 모아놓는 편인데, 이 때 패키지 등록으로 한번에 사용할 수 있다.
myBatis에서 제공하는 typeAlias의 장점은 딱 1가지 이다. 타이핑 할 내용이 줄어든다는 점?
무분별하게 typeAlias를 사용하면 유지보수시에 고생할 수도 있으므로
프로젝트별로 typeAlias를 사용할것인지 미리 검토한 후에 사용하는게 좋다.
또한 사용하기로 했다면 네이밍을 어떻게 가져갈 것인가를 미리 정해두는게 좋다.
http://www.mybatis.org/mybatis-3/ko/configuration.html
'Framework & Library > Spring & Egov' 카테고리의 다른 글
(스크랩)ModelAndView 를 통한 모델 설정 (0) | 2017.10.12 |
---|---|
(스크랩)spring annotation (0) | 2017.10.12 |
(스크랩)스프링의 컨트롤러, 핸들러 매핑, 인터셉터 (0) | 2017.10.10 |
maven dependency 오류 (0) | 2017.09.28 |
(스크랩)JSP-mybatis 연동 (0) | 2017.09.27 |