当我们需要批量使用insert,update等语句时,可以使用该方法提交效率:
String sql = "INSERT INTO OrderDetail VALUES(?,?,?,?,?,?)";
pstmt = conn.prepareStatement(sql);
for (int i = 0; i < record.length; i += 6) {
int number = Integer.parseInt(record[i + 3]);
BigDecimal price = new BigDecimal(record[i + 2]);
pstmt.setInt(1, orderID);
pstmt.setString(2, record[i]);
pstmt.setString(3, record[i + 1]);
pstmt.setInt(4, number);
pstmt.setFloat(5, price.floatValue());
pstmt.setString(6, record[i + 5]);
pstmt.addBatch();
}
pstmt.executeBatch();
这样只对数据库进行了一次提交,批量执行,避免了每循环一次,便提交数据执行一次。