1. 程式人生 > >小碼農的程式碼(一)----------SpringJDBC的使用

小碼農的程式碼(一)----------SpringJDBC的使用


SpringJDBC的使用目前來看非常簡單,主要就是三個步驟。 
一、maven載入所需要的jar包; 
一、Spring配置檔案進行資料來源與jdbctemple的配置; 
二、直接在資料訪問層使用。 
以下是spring配置檔案的內容: 

倫理片http://www.dotdy.com/

這裡的注意點在於spring的資料來源配置,不直接使用DriverManagerDataSource的原因是由於其沒有實現連線池的機制,因此使用C3P0,這時需要載入c3p0的支援JAR包; 
另外在資料訪問層進行資料操作時如下: 
  1. public class BaseDaoImpl implements
     BaseDao{  
  2.     @Autowired  
  3.     private JdbcTemplate jdbcTemplate;  
  4.     /** 
  5.      * sql = "insert into user (name,age) values(?,?)" 
  6.      * */  
  7.     public void addBySql(String sql,final Object[] params) {  
  8.         //--------------methods01------------------------------------//  
  9.         jdbcTemplate.execute(sql);  
  10.         //-----------------or methods02------------------------------//  
  11.         //just like updateBySql  
  12.     }  
  13.     /** 
  14.      * sql = “update table_name set name=?,age=?” 
  15.      * */  
  16.     public void updateBySql(String sql,final Object[] params) {  
  17.         //--------------methods01------------------------------------//
      
  18.         jdbcTemplate.update(sql,  
  19.                 new PreparedStatementSetter() {  
  20.                     public void setValues(PreparedStatement ps)  
  21.                             throws SQLException {  
  22.                         ps.setInt(1, Integer.parseInt(params[0].toString()));  
  23.                     }  
  24.                 });       
  25.         //-----------------or methods02------------------------------//  
  26.         //jdbcTemplate.update(sql, params);  
  27.     }  
  28.     /** 
  29.      * sql = "delete user where id =? and name = ?;" 
  30.      * */  
  31.     public void deleteBySql(String sql,final Object[] params) {  
  32.         //----------just like update---------------//  
  33.         jdbcTemplate.update(sql, params);  
  34.     }  
  35.     /** 
  36.      * RowMapper介面封裝返回集合,可自定義 
  37.      * */  
  38.     public List<UserEntity> getQueryBySql(String sql) {  
  39.         return (List<UserEntity>) jdbcTemplate.query(sql,  
  40.                 new BeanPropertyRowMapper<UserEntity>(UserEntity.class));  
  41.     }  
  42. }  
因為Spring配置檔案中已經配置,可以直接依賴注入jdbcTemplate; 
另外也可以繼承JdbcDaoSupport類,來使用jdbcTemplate, Java程式碼  收藏程式碼
  1. public class BaseDaoImpl2 extends JdbcDaoSupport implements BaseDao{  
  2.     public void addBySql(String sql,final Object[] params) {  
  3.         this.getJdbcTemplate().update(sql);  
  4.     }  
  5. }  
影音先鋒電影http://www.iskdy.com/。 
這兩個類進一步論證一個介面可以有多個實現類,誰例項化則呼叫哪個實現類中的方法。 
具體的程式碼例子與測試檔案可以下載附件參考,歡迎大家斧正。 
另外對於jdbcTemplate的事務控制就是使用Spring對於事務的控制,具體內容會在後續文章中補充說明。