2007年12月25日星期二

jdbc bath

conn = getConnection();
conn.setAutoCommit(false);
conn.setAutoCommit(false);
PreparedStatement ps = conn.prepareStatement("INSERT INTO user(id,name) VALUES(?, ?)");     
for (int i = 0; i < 10000; i++) {
    ps.setInt(1,i);
    ps.setString(2,"name_"+String.valueOf(i));
    ps.addBatch();
    //ps.clearParameters(); 这句话报空指针异常,不知为什么
}
ps.executeBatch();
conn.commit();

1 条评论:

  1. ps.clearParameters() 表示清空前一次参数, 也就是说, 执行本次PS之前,先把以前的参数给清空了,一般对于Blob字段比较常用。如果是批处理,每次都清空上一次参数,到最后运行的时候,只有最后一次循环才有参数,当然会空指针异常了。

    回复删除