SqlSession이란?
- 데이터베이스의 작업들을 직접 실행하는 JAVA 객체이다.
- SQL(CRUD) 실행, 트랜잭션 관리, SQL 결과를 자바로 매핑하는 작업 등을 진행한다.
SqlSessionFactory
- SqlSession 객체를 생성하는 팩토리 클래스
- MyBatis 설정 파일과 데이터 소스를 기반으로 구성된다.
사용 흐름

(1) ~ (4) 프로그램 시작 시 수행되는 프로세스
- 프로그램이 시작할 떄 SqlSessionFactoryBuilder가 생성된다.
- 생성된 객체가 MyBatis 설정을 읽어와서 객체를 만들 준비를 한다.
- 읽어온 정보들을 바탕으로 SqlSessionFactory 객체를 생성한다.
(5) ~ (10) 클라이언트 요청시 수행되는 프로세스
- 프로그램에 클라이언트가 요청을 보낸다.
- 프로그램은 SqlSessionFactory에 객체 생성을 요청한다.
- Factory 객체는 SqlSession을 생성한다.
- 프로그램은 생성된 SqlSession 객체에서 MapperInterface의 구현체를 가져온다.
- 열심히 쓰고 있었는데 뭔가 많이 꼬여서 나중에 다시 이어쓰겠다…
- 마이바티스 겁나 복잡하다
- 아래 참고 자료 많은거 봐라 개힘들다
참고자료 :
SqlSessionFactory와 SqlSession 은 무엇일까? - 꾸준히
MyBatis&SqlSessionTemplate- Dami