Мне нужно вставить тысячи записей в базу данных за один раз.Я использую шаблон Spring JDBC в своем приложении.
Ниже приведен код, который я написал до сих пор, который выполняет все вставки за один раз.Итак, если у меня есть 10000 пользователей, они вставляются за один раз.Но я хочу, чтобы они выполнялись партиями, например, 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 и т. Д.?
Пожалуйста, помогите.