JDBCtemplate:获取插入的数据自动生成的密钥

JDBCtemplate : getting the inserted data's autogenerated key

我想知道,如何使用 jdbctemplate 获取插入数据的 ID?我可以在 Php 中执行此操作,但我不知道如何在 java 中执行此操作。 我搜索了文档并发现了 executeAndReturnKey(..) 但我的 jdbctemplate 无法识别此 class(仅 .execute()).

请问。帮帮我

例如,

SimpleJdbcInsert simpleJdbcInsert = new SimpleJdbcInsert(dataSource)  
                                    .withTableName("EMPLOYEE")  
                                    .usingGeneratedKeyColumns("ID");  


Number id = simpleJdbcInsert.executeAndReturnKey(parameters);  
System.out.println("Generated id - " + id.longValue());  

您可以将 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();