# ChatGPT야! DataSource, SqlSessionFactory, SqlSessionTemplate 에 대해서 설명해주겠니?
라고 GPT님에게 여쭤보았습니다.
# 질문
Spring Boot 에서 데이터 베이스 설정 시 DataSource, SqlSessionFactory, SqlSessionTemplate 의 역할에 대해 각각 설명해줄래?
# 답변
물론이죠! Spring Boot에서 데이터베이스 설정 시 DataSource, SqlSessionFactory, SqlSessionTemplate의 역할에 대해 간단히 설명해드릴게요.
DataSource
DataSource는 데이터베이스와의 연결을 생성하고 관리하는 객체입니다. 이를 사용하여 데이터베이스 연결을 얻고 반환할 수 있습니다. 일반적으로 Spring Boot에서는 HikariCP와 같은 커넥션 풀 라이브러리를 사용하여 DataSource를 구성합니다.
SqlSessionFactory
SqlSessionFactory는 MyBatis에서 사용하는 Session 객체를 생성하는 팩토리입니다. 데이터베이스 연결 정보와 매핑 파일 등을 이용하여 SqlSession을 생성합니다. SqlSessionFactory는 애플리케이션 전체에서 단 한 번만 생성되며, 여러 SqlSession을 생성할 수 있습니다.
SqlSessionTemplate
SqlSessionTemplate은 MyBatis에서 SqlSession을 대체하는 객체입니다. SqlSessionTemplate은 SqlSessionFactory를 이용하여 SqlSession을 생성하고, SQL 실행 후 자동으로 커밋하거나 롤백합니다. 또한, SqlSession을 쓰레드세이프하게 사용할 수 있도록 도와줍니다.
일반적으로 Spring Boot에서는 DataSource를 생성하고, SqlSessionFactory를 생성한 후 SqlSessionTemplate을 생성합니다. 이를 통해 데이터베이스와의 연결과 SQL 실행을 담당하는 객체들을 구성합니다.
'스프링 부트' 카테고리의 다른 글
[SpringBoot] ChatGPT야! HttpClient, HttpComponentsClientHttpRequestFactory, RestTemplate 에 대해서 설명해줄래? (0) | 2023.03.28 |
---|---|
[SpringBoot] ChatGPT야! JDBC, MyBatis, HikariCP 에 대해서 설명해주겠니? (1) | 2023.03.28 |
[SpringBoot] 요청부터 응답까지! 프로세스 흐름도 (0) | 2023.01.15 |
[SpringBoot] OpenAPI 3.0 추가 구성 해보기! (swagger-ui) (0) | 2023.01.15 |
[SpringBoot] OpenAPI 3.0 구성하기! (swagger-ui) (0) | 2023.01.14 |