DB Server와의 기본적인 연결
DB Connection Pooling 기능
트랙잭션 처리
자바 프로그램에서 DB 연결 시 시간이 걸리기 때문에 일정량의 connection을 미리 생성해서 저장소에 저장. 요청이 있을때 꺼내서 제공하여 시간을 절약하는 프로그래밍 기법을 Connection Pooling이라고 함
DB Server에 관한 정보(Property)를 설정
# jdbc.properties
jdbc.driver = com.mysql.jdbc.Driver
jdbc.url = jdbc:mysql//localhost:3306/databaseName
jdbc.username = root
jdbc.password = password
해당 datasource를 Bean으로 등록
<context:property-placeholder location="com/spring/props/jdbc.properties"/>
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</bean>
핵심적 일만 작업해주면 나머지는 Framework가 알아서 처리
@Repository
public class SpringDaoImpl{
private JDBCTemplate jdbcTemplate;
@Autowired
public void setDataSource(DataSource dataSource) {
this.jdbcTemplate = new JdbcTemplate(dataSource);
}
public int getCustomerCount() {
return jdbcTemplate.queryForInt("select count(*) from customers");
}
}
자바 프로그램의 요청을 DBMS가 이해할 수 있는 프로토콜로 변환해주는 클라이언트 사이드 어댑터