Spring 프로젝트에 Mybatis 연동
1. 팩토리 빈을 생성하기 위해 root-context.xml에 아래 코드 추가
2. src/main/resources에 mybatis-config.xml 파일 생성
3. mybatis-config.xml 파일의 내용을 아래 코드로 수정
<?xml version="1.0" encoding="UTF-8" ?>
4. 1번의 코드를 아래와 같이 수정
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
5. src/test/java폴더에 MyBatisTester 클래스 생성
org.apache.ibatis.session.defaults.DefaultSqlSession@... 이 보이면 성공
6. SqlSessionTemplate을 설정
root-context.xml에 아래의 코드를 추가
1. 팩토리 빈을 생성하기 위해 root-context.xml에 아래 코드 추가
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
</bean>
3. mybatis-config.xml 파일의 내용을 아래 코드로 수정
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
</configuration>
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="configLocation" value="classpath:/mybatis-config.xml"></property>
</bean>
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "file:src/main/webapp/WEB-INF/spring/root-context.xml" })
public class MyBatisTester {
@Inject
private SqlSessionFactory sqlSessionFactory;
@Test
public void myBatisTest() throws Exception {
System.out.println(sqlSessionFactory);
}
@Test
public void sessionTest() throws Exception {
try (SqlSession session = sqlSessionFactory.openSession()) {
System.out.println(session);
} catch (Exception e) {
e.printStackTrace();
}
}
}
org.apache.ibatis.session.defaults.DefaultSqlSession@... 이 보이면 성공
root-context.xml에 아래의 코드를 추가
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">
<constructor-arg name="sqlSessionFactory" ref="sqlSessionFactory" />
</bean>
SqlSessionTemplate를 설정
- session을 자동으로 열고 닫는다.
- 쓰레드 처리의 안정성
- Transaction 관리 보장
- 여러 DAO 와 매퍼에서 공유 가능
댓글
댓글 쓰기