我想知道如何使用jdbctemplate获取插入的数据的ID?我可以在PHP中执行此操作,但我不知道如何在Java中执行此操作。
我搜索了文档,并找到了有关executeAndReturnKey(..)的信息,但我的jdbctemplate无法识别此类(仅.execute())。

请帮我

最佳答案

您可以将KeyHolderJdbcTemplate一起使用,

KeyHolder generatedKeyHolder = new GeneratedKeyHolder();
jdbcTemplate.update(new PreparedStatementCreator() {
    @Override
    public PreparedStatement createPreparedStatement(Connection connection) throws SQLException {
        PreparedStatement statement = connection.prepareStatement("Your Insert/Update Query", Statement.RETURN_GENERATED_KEYS);
        // set values in query
        return statement;
    }
}, generatedKeyHolder);

Number id = generatedKeyHolder.getKey();
// Use this Number to get id with feasible type long, int etc.
// For example,
// int myId = id.intValue();

09-30 22:49
查看更多