자바 오브젝트와 SQL문 사이의 자동 Mapping 기능을 지원하는 ORM 프레임워크
MyBatis는 SQL을 별도의 파일로 분리해서 관리하게 해주며, 객체-SQL 사이의 파라미터 Mapping 작업을 자동으로 해준다.
MyBatis 주요 컴포넌트의 역할
MyBatis 설정파일
- 데이터베이스의 접속 주소 정보나 Mapping 파일의 경로 등의 고정된 환경정보를 설정한다.
SqlSessionFactoryBuilder
- MyBatis 설정 파일을 바탕으로 SqlSessionFactory를 생성한다.
SqlSessionFactory
- SqlSession을 생성한다.
SqlSession
- MyBatis 설정 파일에 있는 SQL 실행이나 트랜잭션 관리를 실행한다.
- SqlSession 오브젝트는 Thread-Safe 하지 않으므로 thread마다 필요에 따라 생성한다.
mapping 파일
- SQL문과 OR Mapping을 설정한다.
MyBatis-Spring의 주요 컴포넌트
MyBatis 설정파일
- MyBatis-Spring에서는 VO 객체의 정보를 설정한다.
SqlSessionFactoryBean
- SqlSessionFactory를 생성해준다
- SpringBean 설정파일(beans.xml)에 SpringBean으로 등록해줘야한다.
- 생성된 SqlSessionFactory가 SqlSessionTemplate을 생성한다.
SqlSessionTemplate
- SqlSession 인터페이스를 구현하며, Thread-safe 한다.
- SqlSessionTemplate을 bean으로 등록해줘야한다.
- SqlSession 인터페이스를 구현하기 때문에 SQL 실행이나 트랜잭션 관리를 실행한다.
Mapping 파일
- SQL문과 OR Mapping을 설정한다.
Spring Bean 설정파일
- SqlSessionFactoryBean을 Bean 등록할 때 DataSource 정보와 MyBatis Config 파일정보, Mapping 파일의 정보를 함께 설정한다.
- SqlSessionTemplate을 Bean으로 등록한다.
'개발 관련 지식 > Spring Framework Basic' 카테고리의 다른 글
요청 파라미터 - @RequestParam, @ModelAttribute (0) | 2022.02.19 |
---|---|
@Autowired (0) | 2020.05.26 |
MVC 패턴의 개념과 모델2 아키텍쳐 (0) | 2020.05.03 |
JDBC (0) | 2020.04.25 |
프로젝트 아키텍쳐 (0) | 2020.04.24 |