MyBatis3 와 MyBatis3-Spring 의 프로세스
# MyBatis3 의 주요 컴포넌트의 역할
- MyBatis 설정 파일(SqlMapConfig.xml)
: 데이터베이스의 접속 주소 정보나 Mapping 파일의 경로 등의 고정된 환경정보(개발, 운영)를 설정한다.
- SqlSession FactoryBuilder
: MyBatis 설정 파일을 바탕으로 SqlSessionFactory 를 생성한다.
- SqlSessionFactory
: SqlSession을 생성한다.
- SqlSession
: 핵심적인 역할을 하는 클래스로서 SQL 실행이나 트랜잭션 관리를 실행한다.
: SqlSession 오브젝트는 Thread-Safe 하지 않으며로 thread 마다 필요에 따라 생성한다.
- mapping 파일(user.xml)
: SQL문과 OR Mapping 을 설정한다.
# MyBatis-Spring 의 주요 컴포넌트
- MyBatis 설정파일(sqlMapConfig.xml)
: VO 객체의 정보를 설정한다.
: DB접속정보와 MappingFile 위치는 Bean 등록시 작성한다.
- SqlSession FactoryBean
: MyBatis 설정파일을 바탕으로 SqlSessionFactory를 생성한다.
: Spring Bean으로 등록해야한다.
- SqlSessionTemplate
: 핵심적인 역할을 하는 클래스로서 SQL 실행이나 트랜잭션 관리를 실행한다.
: SqlSession 인터페이스를 구현하며, Thread-safe 하다.
: Spring Bean으로 등록해야한다.
- Mapping 파일(user.xml)
: SQL문과 OR Mapping 을 설정한다.
- Spring Bean 설정파일(beans.xml)
: SqlSessionFactoryBean을 Bean 등록할때 DataSoruce 정보와 MyBatis Config 파일정보,
Mapping 파일의 정보를 함께 설정해야한다.
: SqlSessionTemplate을 Bean으로 등록한다.
* SpringBean 설정파일(beans.xml)에 SqlSessionFactoryBean 과 SqlSessionTemplate을 빈을 등록해야한다.
출처: www.youtube.com/watch?v=9b5P4YiyqOY&list=PL9mhQYIlKEhfYqQ-UkO2pe2suSx9IoFT2&index=16