반응형
SqlSession 사용
마이바티스에서는 SqlSession를 생성하기 위해 SqlSessionFactory를 사용한다. 세션을 한번 생성하면 매핑구문을 실행하거나 커밋 또는 롤백을 하기 위해 세션을 사용할수 있다. 마지막으로 더 이상 필요하지 않은 상태가 되면 세션을 닫는다. 마이바티스 스프링 연동모듈을 사용하면 SqlSessionFactory를 직접 사용할 필요가 없다.
왜냐하면, 스프링 트랜잭션 설정에 따라 자동으로 커밋 혹은 롤백을 수행하고 닫혀지는, 쓰레드에 안전한 SqlSession 개체가 스프링 빈에 주입될 수 있기 때문이다.
SqlSessionTemplate
SqlSessionTemplate은 마이바티스 스프링 연동모듈의 핵심이다. SqlSessionTemplate은 SqlSession을 구현하고 코드에서 SqlSession를 대체하는 역할을 한다. SqlSessionTemplate 은 쓰레드에 안전하고 여러개의 DAO나 매퍼에서 공유할수 있다.
SqlSessionTemplate은 MyBatatis 이전에 사용하던 방식이며 DAO 클래스에 직접 SqlSession객체를 선언하고 @Autowried로 의존주입하여 쿼리문을 수행하는 방식이다.
SqlSessionTemplate을 사용하기 위해선 root-context.xml에 SqlSessionFactory를 등록해야한다.
<been id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate" destory-method="clearCache">
<constructor-arg name="sqlSessionFactory" ref="sqlSessionFactory" />
</bean>
반응형
'program > Java, Spring' 카테고리의 다른 글
DAO, DTO, VO, Entity 차이 (0) | 2022.04.19 |
---|---|
[스프링 부트] 1. Gradle 프로젝트 생성 및 build.gradle 작성 (0) | 2022.04.15 |
MyBatis란? (0) | 2022.04.14 |
메이븐(Maven)과 그래들(Gradle) (0) | 2022.04.14 |
머스테치(Mustache)란? (0) | 2022.04.11 |