티스토리 뷰

Spring + MyBatis + MySQL ... with Maven

 

Spring :The world's most popular Java Development Framework

MyBatis : The world's most popular SQL mapping framework for Java

MySQL : The world's most popular open source database

 

새삼스레 각 홈페이지에 있는 소개 문구들을 긁어와봤다. 모두 세계최고를 자랑하는.. 것들만 연동해보자.. -_-..훗.

우선 이전에 만들다말던 프로젝트를 사용해야하니.. 전 포스트를 참고하세요.

 

[Spring] Spring Tool Suite(STS) 2.9.2 release 설치 및 예제 프로젝트 생성

 

그냥 자바 프로젝트에 MyBatis 연결하는 건 어렵지 않았는데 이걸 또 스프링에 붙일 생각을 하니 막막하다. 스프링자체가 DI 를 사용하니 막 new 연산자 쓰면서 구현하는건 아닐테고... 어디에 매뉴얼이 있을까 인터넷을 뒤지기 시작한다. Spring 사이트에는 없다. -_-.. 그럼 MyBatis에는 있나해서 뒤지니 .. 오 있다.

 

http://www.mybatis.org/spring/

 

아주 상세하게 설명이 되있으니 차근차근 따라해봐야 겠다. 읽어보면 알겠지만 mybatis 사이트에서는 mybatis-spring.jar 파일을 지원한다. mybatis가 스프링에 통합될 수 있도록 별도의 jar 파일을 지원하고 있는 것이다. 여기서도 좀 유의 해야하는게 버전을 잘 맞춰서 받아야 한다. 우선 내가 사용하는 스프링 버젼은 spring 3.0.6 이다. mybatis-spring.jar 파일은 1.0.2 버전을 받자. 받는 건 역시나 Maven 을 통해 받는다.

 

 

그냥 만약 최신 버전을 받겠다고 스프링버전과 상관없는 mybatis-spring-1.1.1.jar 버전(현재최신버전)을 받아버리면 에러가 날 것이다.

 

java.lang.NoSuchMethodError: org.springframework.core.annotation.AnnotationUtils.getAnnotation(Ljava/lang/reflect/AnnotatedElement;Ljava/lang/Class;)Ljava/lang/annotation/Annotation;

 

스프링 버전이 3.0.6에서 3.1.1로 바뀌면서 org.springframework.core.annotation.AnnotationUtils.getAnnotation 함수의 파라메터값이 변경되면서 해당 메소드를 찾을 수 없게 되어서 이런 문제가 발생했다. 이게 왜 문제가 되냐면 mybatis-spring.jar 를 maven 으로 받게 되면 그것만 받아지는 게 아니라 아래의 jar 파일도 함께 받아지기 때문이다.

 

 mybatis-spring-1.0.2.jar 를 maven으로 받을 때

 mybatis-spring-1.1.1.jar 를 maven으로 받을 때

 mybatis-3.0.6.jar

 mybatis-3.1.1.jar

 spring-tx-3.0.6.RELEASE.jar  spring-tx-3.1.1.RELEASE.jar
 spring-jdbc-3.0.6.RELEASE.jar  spring-jdbc-3.1.1.RELEASE.jar

 

그래서 소스를 보면 메소드가 달라져 있다.

3.0.6 버전 : getAnnotation(Method method, Class<A> annotationType)

3.1.1 버전 : getAnnotation(AnnotatedElement ae, Class<A> annotationType)

 

그러니 스프링 3.0.6 버전에 맞춰 mybatis-spring-1.0.2.jar 를 받겠다.

 

두번째로 필요한 건 mysql connector java 버전을 받자. 역시 위와 같이 maven 으로 받으면된다. 따로 설정해놓으신분들은 안받아도 된다.

 

연동할 무기들은 다 가졌다. 코딩은 다음에..





반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함