이전 글에 Hibernate ORM프레임워크에 대해서 좋은글을 써놓고 결국엔 Mybatis연동법을 포스팅하게되네요..(머쓱)
어쩔수 없이 우리나라에선 Mybatis를 많이 사용하니...;; Mybatis연동방법에 대해서 알아보겠습니다.
먼저 Mybatis를 스프링과 연동하는 방법은 다음과 같습니다.
- Mybatis-Spring 모듈 추가
- SqlSessionFactoryBean을 이용해서 SqlSessionFactory 설정
- 트랜잭션 설정
- Mybatis를 이용한 DAO구현
1. Mybatis-Spring 모듈 추가
1
2
3
4
5
6
7
8
9
10
|
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.2.2</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.2.3</version>
</dependency>
|
cs |
mybatis-spring모듈을 등록함으로써 DataSource및 트랜잭션 관리 기능을 Mybatis와 연동하는데 필요한 기능을 제공해준다.
2. SqlSessionFactoryBean
1
2
3
4
|
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="mapperLocations" value="classpath:/**/*_SQL.xml"/>
</bean>
|
cs |
mapperLocations에는 매핑쿼리를 담고있는 파일의 경로를 지정해준다.
3. Mybatis를 이용한 DAO구현
- SqlSessionTemplate을 이용
1
2
3
4
5
6
7
8
|
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="mapperLocations" value="classpath:/**/*_SQL.xml"/>
</bean>
<bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate">
<constructor-arg index="0" ref="sqlSession"/>
</bean>
|
cs |
이런식으로 sqlSessionFactoryBean을 생성자로 의존주입받아서 sqlSessionTemplate을 빈으로 등록한다. DAO클래스는 sqlSessionTemplate을 생성자나 프로퍼티 혹은 @Autowired, @Resource(name="sqlSessionTemplate")를 이용해 자동으로 주입받아서 SqlSession에 정의된 메서드를 사용할 수 있다.
'Spring' 카테고리의 다른 글
Spring(18) - 스프링 Security (0) | 2019.04.23 |
---|---|
Spring(17) - 웹 어플리케이션 구조 (0) | 2019.04.23 |
Spring(15) - JPA, ORM, Hibernate, Mybatis (0) | 2019.04.18 |
Spring(14) - 데이터베이스 연동(JDBC), 트랜잭션 (0) | 2019.04.17 |
Spring(13) - WebSocket (0) | 2019.04.16 |