Перед рефакторингом я вставлял строку в db, используя jdbcTemplate, подготовленныйStatementCreator и GeneratedKeyHolder для хранения сгенерированного идентификатора вставленной строки.Не знаю, как вернуть порожденное значение идентификатора столбца, используя Spring jdbcTemplate и PreparedStatementSetter
jdbcTemplate.update(SomePreparedStatementCreator, generatedKeyHolder)
Однако теперь я пытаюсь выполнить обновление с помощью моего JdbcTemplate, но теперь с preparedStatementSetter. Единственный метод, который я могу увидеть для этого 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);
Предполагая, что мой подход к PreparedStatements правильно, кто-нибудь знает, как я могу вернуть значение генерируемого идентификатора?
Thank очень! – PolyglotPiglet
@ user1724882 подумайте о принятии этого ответа, если это то, что вам нужно. – n1ckolas