java新增数据库一条数据数据库id是自增的,我怎么获取到刚新增的数据
时间: 2024-04-29 20:22:22 浏览: 150
在 Java 中,要获取刚刚新增的数据的 ID,可以使用 JDBC 的 `PreparedStatement` 类的 `getGeneratedKeys()` 方法,该方法可以返回一个 `ResultSet` 对象,里面包含了刚刚插入的记录的主键 ID。
以下是一个示例代码:
```java
try {
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "username", "password");
String sql = "INSERT INTO mytable (name, age) VALUES (?, ?)";
PreparedStatement pstmt = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
pstmt.setString(1, "John");
pstmt.setInt(2, 30);
pstmt.executeUpdate();
ResultSet rs = pstmt.getGeneratedKeys();
if (rs.next()) {
int id = rs.getInt(1); // 获取刚插入的记录的 ID
System.out.println("Inserted ID: " + id);
}
rs.close();
pstmt.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
```
在上面的代码中,我们使用了 `Statement.RETURN_GENERATED_KEYS` 参数来告诉 `PreparedStatement` 对象返回生成的键。然后,我们执行 `pstmt.getGeneratedKeys()` 方法来获取包含插入记录主键的 `ResultSet` 对象。最后,我们从 `ResultSet` 对象中获取刚插入的记录的 ID。
阅读全文