mybatis 4

학습 // Spring // MyBatis // Mapper

`업데이트 :: 2018.11.13 Mapper InjectionMapper 등록Mapper 검색Mapper Injection데이터접근객체인 DAO를 만드는 것보다 직접 "SqlSessionTemplate" 혹은 "SqlSessionDaoSupport를" 사용마이바티스 스프링연동모듈은 다른 빈에 직접 주입할 수 있는 스레드 안전한 매퍼를 생성가능 public class FooServiceImpl implements FooService { private UserMapper userMapper; // injection public void setUserMapper(UserMapper userMapper) { // injection this.userMapper = userMapper; } public User..

Spring/MyBatis 2018.11.13

학습 // Spring // MyBatis // Transaction

업데이트 :: 2018.11.01 TransactionsDataSourceTransactionManagerContainer Manager Transactions (CMT)Programmatic Transaction ManagementEXTransactions마이바티스 스프링 연동모듈을 사용하는 중요한 이유중 또 하나 마이바티스가 스프링 트랜잭션에 자연스럽게 연동가능 하다는 것스프링 트랜잭션 관리자를 한 번 설정하면, 스프링에서 트랜잭션을 설정할 수 있음@Transaction과 AOP 스타일의 설정을 모두 지원하나의 SqlSession객체가 생성되고 트랜잭션이 동작하는 동안 지속적으로 사용세션은 트랜잭션이 완료되면 적절히 커밋되거나 롤백됨DataSourceTransactionManager @Bean pub..

Spring/MyBatis 2018.11.13

학습 // Spring // MyBatis // SqlSessionFactory

업데이트 :: 2018.11.01 Quick SetupSqlSessionFactoryBeanQuick Setup org.mybatis mybatis-spring x.x.x 의존성 추가 SqlSessionFactory는 DataSource를 필요로 함DataSource :자바 애플리케이션에 DataBase를 연동하기 위한 추상화된 객체public interface UserMapper { @Select("SELECT * FROM users WHERE id = #{userId}") User getUser(@Param("userId") String userId); } Mapper는 반드시 구현체 클래스가 아닌 인터페이스로 정의UserMapper 인터페이스는 MapperFactoryBean을 사용해서 스프링 DI..

Spring/MyBatis 2018.11.13

학습 // Spring // MyBatis // SqlSession

업데이트 :: 2018.11.13 SqlSessionSqlSessionTemplateSqlSessionDaoSupportSqlSession마이바티스는 SqlSession 생성을 위해 SqlSessionFactory를 사용세션을 한번 생성하면 매핑구문을 실행하거나 커밋 또는 롤백을 하기 위해 세션을 사용마지막으로 더 이상 필요하지 않은 상태가 되면 세션을 닫음마이바티스 스프링 연동 모듈 org.mybatis mybatis-spring x.x.x SqlSessionFactory를 직접 사용하지 않음설정에 따라 자동으로 커밋 혹은 롤백을 수행하고 닫혀지는, 스레드에 안전한 SqlSession 개체가 스프링 빈에 주입SqlSessionTemplate스프링 연동모듈의 핵심SqlSession을 구현하고 코드에서 S..

Spring/MyBatis 2018.11.13