sql >> Base de Datos >  >> RDS >> Mysql

Cómo obtener una identificación insertada usando Spring Jdbctemplate.update (String sql, obj... args)

Mirando la documentación para TemplateJdbcParámetroNombrado y JdbcTemplate Tienes dos opciones:

use NamedParameterJdbcTemplate 's actualizar método.

use JdbcTemplate 's actualizar método.

También hay otros métodos disponibles que llenarán las claves del GeneratedKeyHolder , tú decides cuál se adapta a tus necesidades.

EDITAR

Por ej. utilizando JdbcTemplate:

GeneratedKeyHolder holder = new GeneratedKeyHolder();
jdbcTemplate.update(new PreparedStatementCreator() {
    @Override
    public PreparedStatement createPreparedStatement(Connection con) throws SQLException {
        PreparedStatement statement = con.prepareStatement("INSERT INTO SOME_TABLE(NAME, VALUE) VALUES (?, ?) ", Statement.RETURN_GENERATED_KEYS);
        statement.setString(1, "SomeName");
        statement.setString(2, "SomeValue");
        return statement;
    }
}, holder);

long primaryKey = holder.getKey().longValue();