使用jdbcTemplate的batchUpdate()方法對數據進行批量更新

public void updateStudent(final List<Student> list){
    /* 一般將這裏的sql定義爲類變量 */
    final String sql = "UPDATE TABLE_NAME 
                        SET 
                            STU_NAME = ?,
                            STU_AGE = ?
                        WHERE STU_NO = ?";
     jdbcTemplate.batchUpdate(sql, new BatchPreparedStatementSetter(){
         // 指定該批的數據大小
         public int getBatchSize(){
             return list.size();
         }

        
         public void setValues(PreparedStatement ps, int i) throws SQLException {
             Student student = list.get(i);
             ps.setString(1, student.getName);    // 注意這裏是從1開始(有點彆扭)
             ps,setInt(2, student.getAge);
             ps.setString(3, student.getNo);
         }
     });
}

這裏的Student實體類就不詳寫了。

 

  • int[] batchUpdate(String sql, BatchPreparedStatementSetter ps): 使用這個方法對同一結構的帶參SQL語句進行批處理。
  • public int[] batchUpdate(String[] sql): 多條sql語句組成一個數組(這些sql語句不帶參),方法將批量執行這些sql語句。
發佈了29 篇原創文章 · 獲贊 11 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章