我正在尝试使用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));
}
}
}
答案 0 :(得分:1)
生成的密钥在DataBase中自动创建,因此您无需进行设置 您可以从Result Set
获取int id = generatedKeys.getInt(FIELD_INDEX);