Spring 获得jdbcTemplate对象的三种用法

使用Jdbctemplate 对象来完成jdbc 操作。通常情况下,有三种方式得到JdbcTemplate 对象。 

      第一种方式:我们可以在自己定义的DAO 实现类中注入一个DataSource 引用来完 成JdbcTemplate 的实例化。也就是它是从外部“注入” DataSource 到DAO 中,然后 自己实例化JdbcTemplate,然后将DataSource 设置到JdbcTemplate 对象中。 


  1. public class UserDaoImpl implements UserDao {  
  2.   
  3.     private JdbcTemplate jdbcTemplate;  //属性
  4.       
  5.     public JdbcTemplate getJdbcTemplate() {  
  6.         return jdbcTemplate;  
  7.     }  
  8.   
  9.     //setXXX   
  10.     public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {  
  11.         this.jdbcTemplate = jdbcTemplate;  
  12.     }  
  13.   
  14.   .........            
  15. }  
Xml代码  
  1. <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">  
  2.         <property name = "dataSource" ref="dataSource">  <!--must datasource 
  3. </bean>  
  4. <bean id="userDao" class="com.hlx.jdbc.impl.UserDaoImpl">  
  5.      <property name="jdbcTemplate" ref="jdbcTemplate"/>  <!--DI jdbcTemplate
  6. </bean>  

 


      第二种方式: 在 Spring 的 IoC 容器中配置一个 JdbcTemplate 的 bean,将 DataSource 注入进来,然后再把JdbcTemplate 注入到自定义DAO 中。 

  1. public class UserDaoImpl implements UserDao {  
  2.   
  3.         private JdbcTemplate jdbcTemplate;  //属性
  4.           
  5.         //注入方法2  
  6.         public void setDataSource(DataSource dataSource) {  
  7.                    this.jdbcTemplate = new JdbcTemplate(dataSource);  
  8.         }  
  9.        
  10.      .......
  11. }  

  

Xml代码  
  1. <bean id="userDaoImpl" class="com.hlx.jdbc.impl.UserDaoImpl">  
  2.        <property name="dataSource" ref="dataSource"/>  <!--DI datasource -->
  3. </bean>  

 

      第三种方式: Spring 提供了 org.springframework.jdbc.core.support.JdbcDaoSupport 类 , 这 个 类 中 定 义 了 JdbcTemplate 属性,也定义了DataSource 属性,当设置DataSource 属性的时候,会创 建jdbcTemplate 的实例,所以我们自己编写的DAO 只需要继承JdbcDaoSupport 类, 然后注入DataSource 即可。提倡采用第三种方法。虽然下面的用法中采用了前两种方法

  

继承JdbcDaoSupport,其内部有个JdbcTemplate ,需要注入DataSource 属性来实例化。

  1. public class UserDaoImpl extends JdbcDaoSupport implements UserDao {  
  2.   
  3.     @Override  
  4.     public void save(User user) {  
  5.         String sql = null;  
  6.         this.getJdbcTemplate().update(sql);  
  7.     }  
  8.         
  9. }  

 

Xml代码  
  1. <bean id="userDaoImpl" class="com.hlx.jdbc.impl.UserDaoImpl">  
  2.       <property name="dataSource" ref="dataSource"/>  <!--must datasource -->
  3. </bean>  

 


    

  

    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值