Не знаете, как вернуть сгенерированное значение идентификатора столбца, используя Spring jdbcTemplate и PreparedStatementSetter
Перед рефакторингом я вставлял строку в базу данных, используя jdbcTemplate, prepareStatementCreator и GeneratedKeyHolder для хранения сгенерированного идентификатора вставленной строки.
jdbcTemplate.update(SomePreparedStatementCreator, generatedKeyHolder)
Тем не менее, теперь я пытаюсь выполнить обновление, используя мой jdbcTemplate, но теперь с готовым состояниемSetter. Единственный способ, который я вижу для этого, - это jdbcTemplate.update (String sql, PreparedStatementSetter), но теперь я не уверен, как вернуть идентификатор сгенерированного столбца.
PreparedStatementSetter pss = new PreparedStatementSetter() {
@Override
public void setValues(PreparedStatement preparedStatement)
throws SQLException {
preparedStatement.setString(1, pupil.getFirstname());
preparedStatement.setString(2, pupil.getSurname());
preparedStatement.setString(3, pupil.getGivenName());
preparedStatement.setDate(4, pupil.getDob());
}
};
jdbcTemplate.update("INSERT INTO STUDENTS "+ "(FIRSTNAME, SURNAME, GIVEN_NAME, DOB) VALUES (?,?,?,?)",pss);
Предполагая, что мой подход к readyStatements правильный, кто-нибудь знает, как я могу вернуть значение сгенерированного идентификатора?