본문 바로가기

Web Programming

Spring JDBC 사용하기 : 제 1 탄, DBMS 커넥션 얻기~

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="
http://www.springframework.org/schema/beans"
 xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
 xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
 <bean name="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
  p:driverClassName="oracle.jdbc.driver.OracleDriver" p:url="jdbc:oracle:thin:@127.0.0.1:1521"
  p:username="admin" p:password="0000" />
 <bean name="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"
  p:dataSource-ref="dataSource" />
 <bean name="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
  <property name="basenames">
   <list>
    <value>dbQuery</value>
    <value>Messages</value>
   </list>
  </property>
 </bean>
 <bean name="messageSourceAccessor" class="org.springframework.context.support.MessageSourceAccessor">
  <constructor-arg>
   <ref bean="messageSource"/>
  </constructor-arg>
 </bean>
 
 <bean name="articleDaoImpl" class="net.springBoard.board.dao.ArticleDaoImpl" p:jdbcTemplate-ref="jdbcTemplate" p:messageSourceAccesor-ref="messageSourceAccessor"/>
</beans>

이부분은 bean을 선언해 놓은 applicationContext.xml 파일이다. 생성해준 객체들은 총 5개 이다. 기존 JDBC 를 사용했을때의 단점중에 하나인 Try Catch 와 관련된 반복이 줄어드는게 가장 먼저 보인 Spring JDBC 의 장점이었다.

먼저 DBMS 에 접근 하는 방법은 BasicDataSource 라는 클래스를 이용한다. 본래 DriverManager 클래스를 사용했던 것과 비슷하게 BasicDataSource 클래스의 생성자를 이용해서 파라미터 값들을 설정해 준다.

<bean name="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
  p:driverClassName="oracle.jdbc.driver.OracleDriver" p:url="jdbc:oracle:thin:@127.0.0.1:1521"
  p:username="admin" p:password="0000" />

그리고 위의 dataSource 객체를 활용하는 곳은 JdbcTemplate 라는 클래스이다. 마찬가지로 생성자를 통해서 사용할 뿐이다. 별다른 사항들은 없다. 이렇게 JdbcTemplate 라는 클래스에 dataSource 의 DBMS 접속을 위한 자원들만 세팅을 해주면 JDBC 접속은 이렇게 끝이 난다.

<bean name="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"
  p:dataSource-ref="dataSource" />