Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

identité de sql insert via jdbctemplate

Le JDBCTemplate.update est surchargée pour prendre un objet appelé GeneratedKeyHolder que vous pouvez utiliser pour récupérer la clé générée automatiquement. Par exemple (code tiré d'ici):

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