Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

identità dall'inserimento di sql tramite jdbctemplate

Il JDBCTemplate.update viene sovraccaricato per prendere un oggetto chiamato GeneratedKeyHolder che puoi usare per recuperare la chiave generata automaticamente. Ad esempio (codice tratto da qui):

final String INSERT_SQL = "insert into my_test (name) values(?)";
final String name = "Rob";
KeyHolder keyHolder = new GeneratedKeyHolder();
jdbcTemplate.update(
    new PreparedStatementCreator() {
        public PreparedStatement createPreparedStatement(Connection connection) throws SQLException {
            PreparedStatement ps =
                connection.prepareStatement(INSERT_SQL, new String[] {"id"});
            ps.setString(1, name);
            return ps;
        }
    },
    keyHolder);
// keyHolder.getKey() now contains the generated key