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