iBATIS3 - Mapper 인터페이스의 활용
JAVA/iBATIS / 2010. 10. 23. 22:19
iBATIS3 이 이전 버전과 가장 큰 차이점은 어노테이션을 이용하여 SQL 을 작성할 수 있다는 점 입니다.
이번 포스팅에서는 자바 어노테이션을 이용하는 Mapper 인터페이스를 활용하는 법에 대해서 알아보겠습니다.
Mapper 인터페이스를 사용하기 위해서는 기존에 생성했던 프로젝트에 pom.xml <dependency> 엘리먼트를 추가합니다.
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib</artifactId>
<version>2.1_3</version>
<scope>runtime</scope>
</dependency>
<groupId>cglib</groupId>
<artifactId>cglib</artifactId>
<version>2.1_3</version>
<scope>runtime</scope>
</dependency>
위의 <dependency> 를 추가하지 않으면 아래와 같은 오류가 발생합니다.
Exception in thread "main" java.lang.NoClassDefFoundError: net/sf/cglib/proxy/MethodInterceptor
테이블과 관련된 Mapping 인터페이스를 정의합니다.
/kr.co.vicki.ibatis3.example/src/main/java/kr/co/vicki/ibatis3/example/data/mapper/UserMapper.java
Mapping 인터페이스를 이용하는 경우 ibatis-config.xml 설정이 필요없습니다. 소스 레벨에서 설정이 가능합니다.
Mapper 인터페이스를 활용하는 경우 손쉽게 작성할 수 있다는 장점이 있지만 동적 SQL 작성이 용이하지 않은 것 입니다.
자바 어노테이션이 조금만 더 유연했으면 좋았을텐데... 아쉬운 점이 있습니다.