我需要在數據庫中一次插入數千條記錄。我在我的應用程序中使用Spring JDBC模板。如何使用spring JDBC Template批量在數據庫中執行多個插入?
以下是我迄今爲止編寫的代碼,它一次執行所有插入操作。所以,如果我有10,000個用戶,他們就一次插入。但我想要的是批量執行它們,例如一批中的500條記錄等等。
@Override
public void saveBatch(final List<Employee> employeeList) {
final int batchSize = 500;
getJdbcTemplate().batchUpdate(QUERY_SAVE,
new BatchPreparedStatementSetter() {
@Override
public void setValues(PreparedStatement ps, int i)
throws SQLException {
Employee employee = employeeList.get(i);
ps.setString(1, employee.getFirstname());
ps.setString(2, employee.getLastname());
ps.setString(3, employee.getEmployeeIdOnSourceSystem());
}
@Override
public int getBatchSize() {
return employeeList.size();
}
});
}
如何更改上面的代碼,以便代替employeeList.size()作爲批量大小,我們可以有批量大小爲500說,執行它們,然後接下來的500等等?
請幫忙。
我知道這個問題是相當老,但我有一個問題。你爲什麼不在'getBatchSize'方法中返回500? – 2016-06-24 14:11:58