

자바에서 데이터베이스에 접근하기 위해서는 JDBC는 필수적이다.
JDBC는 자바가 데이터베이스에 접근하기 위해 제공하는 API인데, 오늘은 Spring에서 JDBC를 통해 데이터베이스에 접근하는 과정을 공부해볼 예정이다.
DAO란 Data Access Object로써 데이터베이스에 접근하는 객체를 뜻한다.
Service와 데이터베이스의 연결점 역할을 하고 데이터베이스에 접근하는 로직과 비즈니스로직을 분리하는 역할을 한다.
SQL을 작성해서 데이터베이스에 접근하거나 적절한 CRUD API를 제공한다.
데이터베이스와 관련된 Connection 정보를 담고 있으며 bean으로 등록하여 Connection정보를 JDBC Template에 전달한다.
즉, 데이터베이스와 기본적인 연결 정보를 제공하는 역할을 한다.
Connection Pooling을 통해 좀 더 빠르게 Connection을 도와준다.
properties.file에 정보를 작성하게되면 place holder를 통해 여러곳에서 작성 및 수정할 수 있다.
place holder를 통해 파라미터를 설정하였다면 properties.file에 있는 정보만 수정한다면 다른 곳에서도 동시에 수정되게 된다.
ex) {$jdbc.password}
//properties.file
jdbc.driver = com.mysql.jdbc.Driver
jdbc.url = jdbc:mysql//localhost:3306/databaseName
jdbc.username = root
jdbc.password = password
https://gmlwjd9405.github.io/2018/05/15/setting-for-db-programming.html
//data source
<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>
https://gmlwjd9405.github.io/2018/05/15/setting-for-db-programming.html
JDBC Template는 Spring JDBC의 접근 방법 중 하나로 Spring JDBC접근을 편리하게 해준다.
Plain JDBC API를 사용하기 위해서는
Driver 로드Connection 생성Statement객체 생성 후 질의 실행ResultSet객체에 저장close와 예외처리, 트랜잭션과 같은 과정을 수행 해야 한다.
JDBC Template는 내부적으로 Plain JDBC API를 사용하고 있지만
등의 반복적인 일들을 개발자 대신 처리해 준다.
이로써 개발자는 Connection을 위한 DataSource 설정, SQL작성, 결과처리 만 해주면 된다.
JDBC Driver는 자바 프로그램의 요청을 DBMS가 이해할 수 있는 프로토콜로 변환해주는 클라이언트 사이드 어댑터이다.
데이터베이스마다 요구하는 Driver가 다르기 때문에 사용하는 데이터베이스에 맞는 Driver를 사용해 주어야 한다.
정리하자면 자바프로그램에서 데이터베이스에 접근하기 위해서는 DataSource를 설정하여 BasicDataSource를 bean으로 등록 후, JDBC Template에 주입하고 JDBC Template는 JDBC Driver를 통해 데이터베이스에 접근하게 된다.
Spring JDBC를 사용하기 위해서는 필수적인 라이브러리가 있다.
https://gmlwjd9405.github.io/2018/05/15/setting-for-db-programming.html