Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como obter o id inserido usando Spring Jdbctemplate.update(String sql, obj...args)


Examinando a documentação para NamedParameterJdbcTemplate e JdbcTemplate Você tem duas opções:

use NamedParameterJdbcTemplate atualizar método.

use JdbcTemplate atualizar método.

Há também alguns outros métodos disponíveis que preencherão as chaves para o GeneratedKeyHolder , cabe a você qual atende às suas necessidades.

EDITAR

Por exemplo usando 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();