MyBatis SqlSessionTemplate 를 사용한 자원 해제
항상 신경 쓰이는 것은 자원해제와 트랜젝션...
SqlSessionTemplate 의 자원해제
MyBatis-Spring 프레임워크는 SqlSession 객체와는 달리
SqlSessionTemplate 을 통해 자원 해제를 해결 함.
SqlSession 은 close()를 호출해야 함.
하지만 SqlSessionTemplate 의 경우 인터셉터를 통해 close() 를 호출하여 알아서
자원해제의 문제를 해결해 주었다.
트랜잭션
트랜잭션의 경우 마이바티스가 스프링 트랜잭션 과 아주 잘 어울린다.
스프링의 DataSourceTransactionManager 와 잘 융합된다.
스프링 XML 설정
<bean id="dbTransactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> |
<tx:advice> 를 이용하여 트랜잭션을 처리 한다.
(@Transaction Annotation 을 사용해도 됨)
<tx:advice id="txAdvice" transaction-manager="dbTransactionManager">
|