204. 타입알리아스(typeAlias)

2012. 4. 19. 10:48공부/MYBATIS

타입 알리아스는 자바타입에 대한 간단한 짧은 이름이다. XML 설정에만 관계되고, 클래스풀네임을 타이핑하는 수고를 덜어주기 위해 존재한다.

<typeAliases>
  <typeAlias alias="Author" type="domain.blog.Author"/>
  <typeAlias alias="Blog" type="domain.blog.Blog"/>
  <typeAlias alias="Comment" type="domain.blog.Comment"/>
  <typeAlias alias="Post" type="domain.blog.Post"/>
  <typeAlias alias="Section" type="domain.blog.Section"/>
  <typeAlias alias="Tag" type="domain.blog.Tag"/>
</typeAliases>

위 예제에서 Blog 는 domain.blog.Blog가 쓰일 수 있는 곳 어디라도 쓰일 수 잇다.

또한 마이바티스가 찾을 빈이 있는 패키지를 기술할 수 있다.

<typeAliases>
  <package name="domain.blog"/>
</typeAliases>

domain.blog에서 발견되는 빈들은, 아무런 어노테이션이 없다면, 소문자화되고 풀네임이 아닌 빈의 별명으로 등록될 것이다. 즉, domain.blog.Author 은 author 로 등록될 것이다. 만약 @Alias 어노테이션이 발견된다면, 그 값이 별명으로 사용될것이다. 아래 예제를 보자.

@Alias("author")
public class Author {
    ...
}

일반 자바타입에 대한 수 많은 내장타입별명이 있다. 모두 대소문자에 무관하고, 오버로드된 이름 때문에 원시타입에 대해서는 특별한 조절이 필요하다.

별명

매핑 타입
_bytebyte
_longlong
_shortshort
_intint
_integerint
_doubledouble
_floatfloat
_booleanboolean
stringString
byteByte
longLong
shortShort
intInteger
integerInteger
doubleDouble
floatFloat
booleanBoolean
dateDate
decimalBigDecimal
bigdecimalBigDecimal
objectObject
mapMap
hashmapHashMap
listList
arraylistArrayList
collectionCollection
iteratorIterator