Unsicher, wie der generierte Spalten-ID-Wert mit Spring jdbcTemplate und PreparedStatementSetter zurückgegeben wird

Vor dem Refactoring habe ich mit jdbcTemplate, prepareStatementCreator und einem GeneratedKeyHolder eine Zeile in die Datenbank eingefügt, um die generierte ID der eingefügten Zeile zu speichern.

    jdbcTemplate.update(SomePreparedStatementCreator, generatedKeyHolder)  

Jetzt versuche ich jedoch, ein Update mit meinem jdbcTemplate auszuführen, aber jetzt mit einem prepareStatementSetter. Die einzige Methode, die ich dafür sehen kann, ist jdbcTemplate.update (String sql, PreparedStatementSetter), aber jetzt bin ich nicht sicher, wie ich die ID der generierten Spalte zurückgeben soll.

    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);

Weiß jemand, wie ich den Wert der generierten ID zurückgeben kann, vorausgesetzt, mein Ansatz zu prepareStatements ist korrekt?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage