获取插入记录的ID

时间:2015-06-18 14:30:50

标签: java jdbc

我正在尝试使用id获取插入记录的getGeneratedKeys。我不知道如何在这里拨打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));
                            }

                     }
}

1 个答案:

答案 0 :(得分:1)

生成的密钥在DataBase中自动创建,因此您无需进行设置 您可以从Result Set

获取
int id = generatedKeys.getInt(FIELD_INDEX);