Spring

JDBC

Cal-D 2020. 1. 29. 16:03

스프링은 JDBC 기반의 DB연동 프로그램을 쉽게 개발할 수 있도록 JdbcTemplate 클래스를 지원.

 

JdbcTemplate은 템플릿 메소드 패턴이 적용된 클래스이다.

템플릿 메소드 패턴: 복잡하고 반복되는 알고리즘을 캡슐화해서 재사용하는 패턴.

 

반복되는 DB 연동 로직은 JdbcTemplate 클래스의 템플릿 메소드가 제공, 개발자는 달라지는 SQL구문과 설정값만 신경 쓰면 된다. 

 

DAO 클래스에서는 JdbcTemplate 클래스가 제공하는 메소드를 호출하여 DB연동을 처리. 그러면

JdbcTemplate 클래스는 내부적으로  JDBC API 를 이용햐여 실제 DB연동작업을 처리.

 

DataSource설정

JdbcTemplate 클래스가 JDBC API를 이용하여 DB연동을 처리하려면 데이터베이스로부터 커넥션을 얻어야 한다.

따라서 JdbcTemplate 객체가 사용할 DataSource를 <bean> 등록하여 스프링 컨테이너가 생성하도록 해야함.

 

DataSource 설정은 Mybatis, JPA연동에서도 사용되므로 매우 중요한 설정이라 할 수 있다. 

 

Apache의 BasicDataSource를 등록,연결에 필요한 Property는 Setter 인젝션으로 설정,BasicDataSource 객체가 삭제되기 전 연결을 해제하고자 close메소드를 destroy-method속성으로 지정. 

 

PropertyPlaceholderConfigurer를 이용하면 외부의 프로퍼티 파일을 참조하여 DataSource를 설정할 수 있다.

${} 구문을 이용하여 프로퍼티 이름을 지정하면, 프로퍼티 값으로 치환되어 실행.