Как сделать несколько вставок в базу данных, используя пакет Spring JDBC Template?

Мне нужно вставить тысячи записей в базу данных за один раз. Я использую шаблон Spring JDBC в своем приложении.

Ниже приведен код, который я написал до сих пор, который выполняет все вставки за один раз. Итак, если у меня 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 и так далее?

Пожалуйста, помогите.

18
задан jeb 17 September 2018 в 07:37
поделиться