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);
我正在尝试使用 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);