日期:2014-05-16  浏览次数:20533 次

Spring JDBC Framework详解——批量JDBC操作、ORM映射
作者:niumd,转载请注明出处,谢谢  

发表时间:2010 年 03 月 17 日 

原文链接:http://ari.iteye.com/admin/blogs/618449



一、Spring JDBC 概述

     Spring 提供了一个强有力的模板类JdbcTemplate简化JDBC操作,DataSource,JdbcTemplate都可以以Bean的方式定义在想xml配置文件,JdbcTemplate创建只需注入一个DataSource,应用程序Dao层只需要继承JdbcDaoSupport, 或者注入JdbcTemplate,便可以获取JdbcTemplate,JdbcTemplate是一个线程安全的类,多个Dao可以注入一个JdbcTemplate;





Xml代码
<!--         Oracle数据源           --> 
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> 
        <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/> 
        <property name="url" value="jdbc:oracle:thin:@oracle.devcake.co.uk:1521:INTL"/> 
        <property name="username" value="sa"/> 
        <property name="password" value=""/> 
</bean> 
 
 
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"> 
        <property name="dataSource" ref="dataSource"/> 
</bean> 
<!--  set注入方式获取jdbcTemplate --> 
<bean id="customerDao" class="JdbcCustomerDao" > 
         <property name="jdbcTemplate" ref="jdbcTemplate"/> 
</bean> 
<!-- 注入dataSource,customerDao通过继承JdbcDaoSupport ,使用this.getJdbcTemplate()获取JdbcTemplate   --> 
<bean id="customerDao" class="JdbcCustomerDao" > 
         <property name="dataSource" ref="dataSource"/> 
</bean> 

<!--         Oracle数据源           -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
        <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
        <property name="url" value="jdbc:oracle:thin:@oracle.devcake.co.uk:1521:INTL"/>
        <property name="username" value="sa"/>
        <property name="password" value=""/>
</bean>


<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
        <property name="dataSource" ref="dataSource"/>
</bean>
<!--  set注入方式获取jdbcTemplate -->
<bean id="customerDao" class="JdbcCustomerDao" >
         <property name="jdbcTemplate" ref="jdbcTemplate"/>
</bean>
<!-- 注入dataSource,customerDao通过继承JdbcDaoSupport ,使用this.getJdbcTemplate()获取JdbcTemplate   -->
<bean id="customerDao" class="JdbcCustomerDao" >
         <property name="dataSource" ref="dataSource"/>
</bean>


然后将jdbcTemplate对象注入自定义的Dao、或者继承JdbcDaoSupport,例如:

Java代码
public class JdbcCustomerDao extends JdbcDaoSupport implements CustomerDao {  
}  
 
public class JdbcCustomerDao implements CustomerDao {  
 
          private JdbcTemplate jdbcTempla