Trước khi tái cấu trúc, tôi đã chèn một hàng vào db bằng cách sử dụng jdbcTemplate, prepareStatementCreator và GeneratedKeyHolder để lưu trữ id đã tạo của hàng được chèn.Không chắc chắn cách trả về giá trị id cột được tạo bằng cách sử dụng Spring jdbcTemplate và PreparedStatementSetter
jdbcTemplate.update(SomePreparedStatementCreator, generatedKeyHolder)
Tuy nhiên, bây giờ tôi đang cố gắng thực hiện cập nhật bằng cách sử dụng jdbcTemplate nhưng bây giờ với một readyStatementSetter. Phương pháp duy nhất tôi có thể thấy cho chúng tôi jdbcTemplate.update (String sql, PreparedStatementSetter) nhưng bây giờ tôi không chắc chắn làm thế nào để trả về id của cột được tạo ra.
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);
Giả sử cách tiếp cận của tôi để chuẩn bịBáo cáo là chính xác, có ai biết cách tôi có thể trả về giá trị của id được tạo không?
Thank rất nhiều! – PolyglotPiglet
@ user1724882 xin vui lòng xem xét chấp nhận câu trả lời này nếu nó là những gì bạn cần. – n1ckolas