GET 插入记录的id

GET the id of the inserted record

我正在尝试使用 getGeneratedKeys 获取插入记录的 id。我不知道如何在这里调用 setId(generatedKeys.getLong(1)); 来获取 id?我怎样才能让它工作。

感谢任何帮助。

代码:

ResultSet routesTables = dbm.getTables(null, null, "routes",
                        null);
                int route_id;
                if (routesTables.next()) {

                    PreparedStatement prepRoutesInsert = con
                            .prepareStatement("INSERT INTO routes(direction, route)"
                                    + "VALUES( ?, ?)");

                    prepRoutesInsert.setString(1, direction);
                    prepRoutesInsert.setInt(2, route);

                  prepRoutesInsert.executeUpdate();

                     try (ResultSet generatedKeys = prepRoutesInsert.getGeneratedKeys()) {
                         if (generatedKeys.next()) {
                             setId(generatedKeys.getLong(1));
                            }

                     }
}

生成的密钥是在数据库中自动创建的,因此您无需设置它。
您可以从 Result Set

int id = generatedKeys.getInt(FIELD_INDEX);