Spring 개발환경 설정하기(3) - Spring+MyBatis 연동하기
2017년 3월 6일
Spring 개발환경 설정하기(1) - 프로젝트 생성하기~톰캣 설정
Spring 개발환경 설정하기(2) - 라이브러리 다운로드~DB연동
Spring + MyBatis + MySQL의 설정에 대한 내용을 담고 있습니다.
참조한 공식 문서는 아래 링크와 같습니다 :)
http://www.mybatis.org/spring/ko/getting-started.html
1. 팩토리 빈을 생성하기 위해 root-context.xml에 아래 코드를 추가합니다.
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> </bean> | cs |
2. src/main/resources에 mybatis-config.xml 파일을 생성해주세요.
3. mybatis-config.xml 파일의 내용을 아래 코드로 수정해주세요.
http://www.mybatis.org/mybatis-3/ko/getting-started.html
<?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> | cs |
4. 1번의 코드를 아래와 같이 수정해주세요.
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="configLocation" value="classpath:/mybatis-config.xml"></property> </bean> | cs |
이제 Spring이 동작할 때 mybatis-config.xml이 함께 동작하게 됩니다 :)
5. src/test/java폴더에 MyBatisTester 클래스를 만들어주세요.
@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(); } } } | cs |
org.apache.ibatis.session.defaults.DefaultSqlSession... 메시지가 보여지면 성공입니다.
이제 Spring + MyBatis + MySQL의 연결까지 끝났습니다.
6. SqlSessionTemplate을 설정해주세요. root-context.xml에 아래의 코드를 추가하면 됩니다.
http://www.mybatis.org/spring/ko/sqlsession.html
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate"> <constructor-arg name="sqlSessionFactory" ref="sqlSessionFactory" /> </bean> | cs |
SqlSessionTemplate를 설정하면 간단하게는 자동으로 session을 자동으로 열고 닫아주고,
쓰레드 처리의 안정성, 트랜잭션의 관리를 보장해주고, 여러 DAO와 매퍼에서 공유할 수 있습니다.
Tags:
Spring
Programming
0 개의 댓글