본문 바로가기

공부내용 정리/자바

JDBC 프로그래밍

JDBC (Java Database Connectivity)

- 자바 애플리케이션에서 DB 프로그래밍을 할 수 있도록 도와주는 표준 인터페이스.

즉 DB에 접근할 수 있도록 Java에서 제공하는 API

- JDBC 인터페이스들을 구현한 구현체들은 각 데이터 베이스 벤더 사들이 제공

 

 

DBCP (Database Connection Pool)

- 미리 일정량의 DB커넥션을 생성해서 풀에 저장해두고 있다가 HTTP요청에 따라 필요시 풀에서 커넥션을 가져다 사용하는 방법

- 스프링부트 2.0부터는 디폴트 커넥션풀로 HikariCP 사용 (Apache Commons DBCP, Tomcat JDBC 등 있음)

 

커넥션 풀 사용시 유의사항

- 커넥션의 사용주체는 WAS 스레드이므로 커넥션 개수는 WAS 스레드 수와 함께 고려해야 함.

- 커넥션 수를 크게 설정하면 메모리 소모가 큰 대신 동시 접속자 수가 많아지더라도 사용자 대기시간이 상대적으로 줄어들게 되고, 반대로 커넥션 수를 작게 설정하면 메모리 소모는 적은 대신 그만큼 대기시간이 길어질 수 있음. 따라서 적정량의 커넥션 객체를 생성해두어야 함. (DB Connection Pooling)

 

DataSource

- 커넥션을 얻기위한 표준 인터페이스

- DB 서버와의 연결