Não sabe como retornar o valor de ID de coluna gerado usando Spring jdbcTemplate e PreparedStatementSetter
Antes da refatoração, eu estava inserindo uma linha no banco de dados usando jdbcTemplate, preparedStatementCreator e GeneratedKeyHolder para armazenar o ID gerado da linha inserida.
jdbcTemplate.update(SomePreparedStatementCreator, generatedKeyHolder)
No entanto, agora estou tentando executar uma atualização usando meu jdbcTemplate, mas agora com um preparedStatementSetter. O único método que eu posso ver por isso nos jdbcTemplate.update (String sql, PreparedStatementSetter), mas agora não sei como retornar o id da coluna gerada.
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);
Assumindo que minha abordagem de preparedStatements esteja correta, alguém sabe como posso retornar o valor do id gerado?