## Introduce
- Database's SQL, Procedure, Advanced Mapping features to Java POJO
- Use XML or Annotation for mapping
## DI Framework for MyBatis
- MyBatis-Spring
- MyBatis-Guice
## SqlSession
- 스프링이나 쥬스와 같은 의존성 삽입 프레임워크와 함께 사용할때 SqlSessions은 DI프레임워크에 의해 생성되고 삽입된다.
- 그래서 SqlSessionFactoryBuilder나 SqlSessionFactory가 필요하지 않을 것이기 때문에 SqlSession섹션으로 바로 넘어가도 무방하다.
- 추가적인 정보는 MyBatis-Spring이나 MyBatis-Guice를 참고하길 바란다.
- SqlSessionFactoryBuilder
- 유지할 필요가 없음
- 메서드 지역변수
- SqlSessionFactory
- 애플리케이션을 작동하는 동안 존재해야 하므로 삭제하거나 재생성하지 않는 것이 가장 좋음
- 애플리케이션 스코프
- 싱글턴 패턴, static 싱글턴 패턴, DI Framework(MyBatis-Spring, MyBatis-Guice)
- SqlSession
- 모든 쓰레드는 SqlSession 인스턴스가 필요함
- SqlSession 인스턴스는 공유되지 않고, 쓰레드에 안전하지도 않음
- 메서드 스코프
- try (SqlSession session = sqlSessionFactory.openSession()) {
// do work
}
- Mapper Instance
- 맵핑된 구문을 바인딩할 때 사용함
- SqlSession에서 mapper Interface Instance 생성
- SqlSession과 동일한 라이프사이클 보유
'Data > MyBatis' 카테고리의 다른 글
마이바티스 간단하게 알아보기 - 4 (동적 쿼리) (0) | 2022.10.08 |
---|---|
마이바티스 간단하게 알아보기 - 3 (XML) (0) | 2022.10.08 |
마이바티스 간단하게 알아보기 - 2 (설정) (0) | 2022.10.08 |
마이바티스 간단하게 알아보기 - 0 (0) | 2022.10.08 |
ResultMap은 반드시 써야 하나? (0) | 2022.07.12 |