jdbctemplate批量插入

jdbctemplate批量插入

public void addBuyBean(List<BuyBean> list)   
    {   
       final List<BuyBean> tempBpplist = list;   
       String sql="insert into buy_bean(id,bid,pid,s,datetime,mark,count)" +  
            " values(null,?,?,?,?,?,?)";   
       this.getJdbcTemplate().batchUpdate(sql,new BatchPreparedStatementSetter() {  

            @Override  
            public int getBatchSize() {  
                 return tempBpplist.size();   
            }  
            @Override  
            public void setValues(PreparedStatement ps, int i)  
                    throws SQLException {  
                  ps.setInt(1, tempBpplist.get(i).getBId());   
                  ps.setInt(2, tempBpplist.get(i).getPId());   
                  ps.setInt(3, tempBpplist.get(i).getS());   
                  ps.setString(4, tempBpplist.get(i).getDatetime());   
                  ps.setString(5, tempBpplist.get(i).getMark());                   
                  ps.setInt(6, tempBpplist.get(i).getCount());  
            }   
      });   
    }  

BatchPreparedStatementSetter简介

先看看BatchPreparedStatementSetter接口里都定义了些操作:

 public interface BatchPreparedStatementSetter{
 
    public int getBatchSize();
   public void setValues(PreparedStatement ps,int i)}

该接口是被JdbcTemplate类使用的CallBack接口。批操作中的每个操作都使用相同的sql语句,而该接口则sql语句中的占位符设置具体的值。

public int getBatchSize();用来返回批次的大小

public void setValues(PreparedStatement ps,int i); 用来为PreparedStatement设值。参数说明:

ps:我们将要设值的PreparedStatement

i:在这个批次中,正在执行操作的索引,从0算起。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值