티스토리 뷰
DB 커넥션은 애플리케이션이 DB에 접속해서 데이터를 주고 받는 연결 통로이다.
이중에 JDBC 커넥션이 JAVA에서 DB와 통신할 때 사용하는 표준 API인 JDBC를 통해 맺는 연결을 말한다.
Connection conn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/mydb", "user", "password");
// DB 작업 수행
conn.close();
스프링에서는 JDBC 코드(DriverManager)를 직접 작성하지 않고, DataSource 라는 추상화 객체를 통해 DB 커넥션을 관리한다.
DataSource는 커넥션 풀과 연동되어 커넥션을 효율적으로 쉽게 관리할 수 있다. (커넥션을 개별로 관리하면 오버헤드 심함)
주요 커넥션 풀 종류로는 3가지가 있다.
- HiKariCP
- Tomcat JDBC Pool
- Commons DBCP2
애플리케이션 라이플 사이클에 따른 커넥션풀의 동작흐름
- 애플리케이션 시작 : 커넥션 풀 초기화, 최소 유휴 커넥션 생성 시작
- DB 작업 요청 시 : 커넥션 풀에서 커넥션 할당, 필요시 추가 커넥션 생성
- 커넥션 반환 시 : 커넥션 풀에 커넥션 반환(물리적 연결 끊김 아님)
- 애플리케이션 종료 : 커넥션 풀 종료, 모든 커넥션 물리적 종료 및 자원 해제
커넥션과 관련된 설정 요소
- DataSource : DB 커넥션 풀(연결 정보)
- SqlSessionFactoryBean : MyBatis의 SqlSession 생성, DataSource와 연결
- SqlSessionTemplate : MyBatis 쿼리 실행, 커넥션 관리 자동화
- DataSourceTransactionManager : 트랜잭션 관리(커밋, 롤백 등)
'JAVA' 카테고리의 다른 글
JAVA GC 동작 원리 이해 (0) | 2025.04.06 |
---|---|
[김영한 자바강의] 상속 (0) | 2024.11.21 |
[김영한 자바강의] 7강 자바 메모리 구조와 static (0) | 2024.11.12 |
김영한 자바강의 6강 - 접근 제어 (0) | 2024.06.18 |
김영한 자바강의 5강 - 패키지 import (0) | 2024.03.12 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Property or method "" is not defined
- gc란 뭘까
- 나머지연산 분배법칙
- 스프링 동작흐름 #ioc #di #dispatcherservlet
- safe operator
- 원자 원소 분자 차이점
- vue정리
- 스프링 기본 구조
- 청년 버팀목 대출
- 누누티비 기술
- Java
- 스프링 동작흐름
- vue 특징
- git branch strategy
- java gc
- SQLD 후기
- java garbage collector 기본
- 퍼블리싱 #앱에서 DB바로 안붙이는 이유
- 누누티비
- JAVA설치 #JDK #JRE
- 알고리즘 나머지연산
- 버팀목 국민은행
- 프로시저 #배치 #스케쥴러 #잡 #바인딩변수
- #web /was 구분이유
- 티비위키
- 왜 트랜스지방은 살 찜
- SSAFY 6기
- gc 기본 동작 원리
- Netlify #CICD
- java 김영한 강의 #2chapter
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
글 보관함