Spring/MyBatis 5

학습 // 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

학습 // Spring // MyBatis // 개념 // 설정

[MyBatis]마이바티스는 SQL과 자바객체를 매핑하는 사상에서 개발된 데이터베이스 접근용 프레임워크 [MyBatis 특징]SQL의 체계적인 관리, 선언적 정의 ( 설정파일, 애너테이션 ) -> 비즈니스로직에서 SQL을 감출 수 있음자바 객체와 SQL 입출력 값의 투명한 바인딩동적 SQL 조합 [SQL 지정방법][매핑파일]SQL 외부에 파일로 정리 할 수 있음[애너테이션]SQL 지정이 간단하나, 애너테이션의 표현력과 유연성의 제약탓에 복잡한 SQL에 적합하지 않은 방법. [MyBatis 주요 API][MyBatis 주요컴포넌트]설정파일 (Config)마이바티스 동작설정을 지정Mapper Interface매핑 파일이나 애너테이션에 정의한 SQL에 대응하는 자바 인터페이스Mapping XMLSQL과 객체의..

Spring/MyBatis 2018.10.30