iBATIS3 - Mapper 인터페이스의 활용



iBATIS3 이 이전 버전과 가장 큰 차이점은 어노테이션을 이용하여 SQL 을 작성할 수 있다는 점 입니다.


이번 포스팅에서는 자바 어노테이션을 이용하는 Mapper 인터페이스를 활용하는 법에 대해서 알아보겠습니다.


Mapper 인터페이스를 사용하기 위해서는 기존에 생성했던 프로젝트에 pom.xml <dependency> 엘리먼트를 추가합니다.



<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 작성이 용이하지 않은 것 입니다.


자바 어노테이션이 조금만 더 유연했으면 좋았을텐데... 아쉬운 점이 있습니다.


댓글

가장 많이 본 글