日期:2014-05-16 浏览次数:20523 次
让我们看看如何使用JDBC API在Java中执行批量插入。虽然你可能已经知道,但我会尽力解释基础到复杂的场景。
?我把它叫做简单批处理。要求很简单,执行批量插入列表,而不是为每个INSERT语句每次提交数据库,我们将使用JDBC批处理操作和优化性能。
?
String [] queries = {
? ? "insert into employee (name, city, phone) values ('A', 'X', '123')",
? ? "insert into employee (name, city, phone) values ('B', 'Y', '234')",
? ? "insert into employee (name, city, phone) values ('C', 'Z', '345')",
};
?
Connection connection = new getConnection();
Statement statemenet = connection.createStatement();
?
for (String query : queries) {
? ? statemenet.execute(query);
}
statemenet.close();
connection.close();
?
?这是糟糕的代码。它单独执行每个查询,每个INSERT语句的都提交一次数据库。考虑一下,如果你要插入1000条记录呢?这是不是一个好主意。
?
下面是执行批量插入的基本代码。来看看:
?
?
Connection connection = new getConnection();
Statement statemenet = connection.createStatement();
?
for (String query : queries) {
? ? statemenet.addBatch(query);
}
statemenet.executeBatch();
statemenet.close();