[Spring] JDBC, Datasource 기초 정리

Song_Song·2021년 9월 23일
0
post-thumbnail

JDBC

DB에 접근할 수 있도록 자바에서 제공하는 API
JAVA 추상화의 대표적인 예. 어떤 DB서버든 같은 메소드로 접근한다.
환경의 변화와 관계 없이 일관된 방식의 기술로 접근하는 추상화 구조이다.
(객체지향설계5원칙 중 OCP에 해당)

JDBC Template

Spring JDBC 접근 방법 중 하나로 plain JDBC에서 수행하는 반복적인 저수준 작업을 내부적으로 처리한다. 개발자는 connection 연결, 종료와 같은 세부적인 작업을 spring에 위임한다.

Spring JDBC를 사용하기 위해서는 DataSource를 필요로 한다.

Datasource

Connection Pool을 관리하는 목적으로 사용되는 객체
데이터 베이스에 접근할 때마다 connection을 맺고 끊어주는 작업을 줄이기 위해 connection을 생성해 두고 데이터베이스에 접근할 때 미리 생성해둔 connection을 제공하고 돌려 받는다. 이 connection을 모두아두는 장소를 Connection Pool이라고 하며 java에서 이를 설정, 관리하는 인터페이스가 Datasource이다.

Datasource는 빈으로 등록되어 인자로 넘겨준다
스프링 부트에서는 버전마다 default로 제공하는 Datasource가 다르다.

Datasource 역할

  1. DB 서버와 연결
  2. DB Connection Pooling - 일정량의 Connection을 미리 생성시켜 저장소에 저장해둔 후 DB 접근 요청이 있을 시 저장소에서 Connection을 꺼내 제공하는 기법. 자바에서 데이터베이스 연결은 시간이 많이 걸리기 때문에 Connection Pooling을 사용하면 부하를 줄일 수 있다.
  3. 트랜젝션 처리
profile
성장을 위한 정리 블로그

0개의 댓글