Spring批量更新JdbcTemplate.batchUpdate()

2016/12/23 12:32
阅读数 76
  1. public class BatchUpdate{  
  2.     JdbcTemplate jdbctemp; //JdbcTemplate的获取不是我所讲的范围。 我们只管用spring得这一对象,  
  3.     public static void main(String[] args) {  
  4.         BatchUpdate bu = new BatchUpdate();  
  5.         List list = bu.storeList();  
  6.         bu.batchUpdateLinkset(list);  
  7.     }  
  8.     public List storeList(){  
  9.         List linkset = new ArrayList();  
  10.         linkset.setDOMAIN_ID("domain_idTeset");  
  11.         linkset.setNE_ID("ne_idTEST");  
  12.         linkset.setSIGLINKSET_NAME("SIGLINKSET_NAMEtest");  
  13.         linkset.setN_CONFIRM(0);  
  14.         linkset.setTIME_STAMP("2010-07-27 09:05:21");  
  15.         updatelist.add(linkset);  
  16.     }  
  17.      
  18.     public void batchUpdateLinkset(final List list) {  
  19.         String sql = "update LINK_SET set N_CONFIRM=?,TIME_STAMP=?,DOMAIN_ID=?,SIGLINKSET_NAME=? where NE_ID=?";  
  20.         jdbctemp.batchUpdate(sql, new BatchPreparedStatementSetter() {  
  21.             public int getBatchSize() {  
  22.                 return list.size();  
  23.                 //这个方法设定更新记录数,通常List里面存放的都是我们要更新的,所以返回list.size();  
  24.             }  
  25.             public void setValues(PreparedStatement ps, int i)throws SQLException {  
  26.                 Linkset linkset = (Linkset) list.get(i);  
  27.                 ps.setString(1, linkset.getCHINA_NAME());  
  28.                 ps.setString(2, linkset.getENGLISH_NAME());  
  29.                 ps.setInt(3, linkset.getN_CONFIRM());  
  30.                 ps.setString(4, linkset.getTIME_STAMP());  
  31.                 ps.setInt(5, linkset.getDOMAIN_ID());  
  32.                 ps.setString(6, linkset.getSIGLINKSET_NAME());  
  33.                 ps.setString(7, linkset.getNE_ID());  
  34.             }  
  35.         });  
  36.     }  
  37. }  
展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部