1. 程式人生 > >Spring中jdbcTemplate的應用 一

Spring中jdbcTemplate的應用 一

一、首先配置JdbcTemplate;

要使用Jdbctemplate 物件來完成jdbc 操作。通常情況下,有三種種方式得到JdbcTemplate 物件。 
      第一種方式:我們可以在自己定義的DAO 實現類中注入一個DataSource 引用來完 成JdbcTemplate 的例項化。也就是它是從外部“注入” DataSource 到DAO 中,然後 自己例項化JdbcTemplate,然後將DataSource 設定到JdbcTemplate 物件中。 
      第二種方式: 在 Spring 的 IoC 容器中配置一個 JdbcTemplate 的 bean,將 DataSource 注入進來,然後再把JdbcTemplate 注入到自定義DAO 中。 
      第三種方式

: Spring 提供了 org.springframework.jdbc.core.support.JdbcDaoSupport 類 , 這 個 類 中 定 義 了 JdbcTemplate 屬性,也定義了DataSource 屬性,當設定DataSource 屬性的時候,會創 建jdbcTemplate 的例項,所以我們自己編寫的DAO 只需要繼承JdbcDaoSupport 類, 然後注入DataSource 即可。提倡採用第三種方法。雖然下面的用法中採用了前兩種方法

方法1:

java程式碼

    public class UserServiceImpl implements UserService {        
        private JdbcTemplate jdbcTemplate;            
        public JdbcTemplate getJdbcTemplate() {  
            return jdbcTemplate;  
        }                           
        public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {  
            this.jdbcTemplate = jdbcTemplate;  
        }                   
    }  
xml程式碼
    <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">  
            <property name = "dataSource" ref="dataSource">  
    </bean>  
    <bean id="userService" class="com.hxzy.account.jdbcTemplate.UserServiceImpl">  
         <property name="jdbcTemplate" ref="jdbcTemplate"/>  
    </bean>  
方法2

java程式碼

    public class UserServiceImpl implements UserService {        
            private JdbcTemplate jdbcTemplate;         
            public void setDataSource(DataSource dataSource) {  
                       this.jdbcTemplate = new JdbcTemplate(dataSource);  
            }  
    }  
xml程式碼
<bean id="userService" class="com.hxzy.account.jdbcTemplate.UserServiceImpl">  
       <property name="dataSource" ref="dataSource"/>  
</bean> 

方法3(繼承JdbcDaoSupport,其內部有個JdbcTemplate ,需要注入DataSource 屬性來例項化)

java程式碼

    public class UserDaoImpl extends JdbcDaoSupport implements UserDao {       
        public void save(User user) {  
            String sql = null;  
            this.getJdbcTemplate().update(sql);  
        }             
    }  
xml程式碼
<bean id="userDao" class="com.hxzy.account.jdbcTemplate.UserDaoImpl">  
           <property name="dataSource" ref="dataSource"/>  
</bean> 
先討論這些,下次討論jdbcTemplate方法的使用