JDBC批量插入数据

需求:有一个book表,需要批量插入20条数据

PreparedStatement stam=null;  //定义在try..catch外面,可以让外界访问
try {
    stam= connection.prepareStatement("insert into book values (? ,?)");

    for(int i=4;i<14;i++){  //因为我的数据库前面有3个所以从4开始这个无所谓了
        /*books b = new books();
        b.setBid(i);
        b.setBname("C#"+i);*/  
        //之前像定义一个book对象赋值,但是没多大用(stam.setInt(book.getBname()))取得时候麻烦所以直接将i的值赋予stam了
        stam.setInt(1 ,i);
        stam.setString(2,"C#"+i);
        stam.addBatch();  //将数据添加到批处理中
        if((i+1)%6 ==0){   //没添加6个开始执行批处理
            stam.executeBatch();//执行批处理
            stam.clearBatch(); //清空stam`1里面的数据 目的让后面的数据继续放进来
        }
     //如果想添加一个到批处理中就执行就不用if判断了直接执行批处理(stam.executeBatch())就行了
    }
    stam.executeBatch();  //以防万一有些数据没插入数据库在执行一次批处理 (比如13个数据上面只插入了12个  对不对 仔细想想)
    stam.clearBatch();
    System.out.println("成批插入成功");
} catch (SQLException e) {
    e.printStackTrace();
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值