我正在尝试使用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));
}
}
}
最佳答案
生成的密钥是在数据库中自动创建的,因此无需您进行设置。
您可以从Result Set获取它
int id = generatedKeys.getInt(FIELD_INDEX);
关于java - 获取插入记录的ID,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30918258/