티스토리 뷰
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 버전(현재최신버전)을 받아버리면 에러가 날 것이다.
스프링 버전이 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 으로 받으면된다. 따로 설정해놓으신분들은 안받아도 된다.
연동할 무기들은 다 가졌다. 코딩은 다음에..
Spring 관련글
[Spring] Spring Tool Suite(STS) 2.9.2 release 설치 및 예제 프로젝트 생성
[Spring] STS 예제 프로젝트에 기본으로 있는 파일들에 대해서
[Spring - MyBatis - MySQL] 1. mybatis-spring.jar 다운 및 버전 주의사항
[Spring - MyBatis - MySQL] 2. 스프링 설정파일 예제 및 설명
[Spring - MyBatis - MySQL] 3. 간단한 sql 조회 예제
[Spring - MyBatis - MySQL] 4. 트랜잭션(Transaction)에서 커밋(commit)과 롤백(rollback) 사용하기
- Total
- Today
- Yesterday
- ktm모바일
- MySQL
- 아이맥
- ubuntu
- 자급제폰
- 셀프개통
- github
- heroku
- Oracle
- 맥북
- 이클립스
- java
- R
- 마인크래프트
- python
- Spring
- 알뜰요금제
- vagrant
- SVN
- 도넛차트
- ggplot2
- Google Chart Tools
- MyBatis
- 막대그래프
- eclipse
- ipTIME
- docker
- javascript
- MongoDB
- ggplot
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |