插入Oracle数据库后返回当前主键id perparestatement
时间: 2023-11-28 17:51:23 浏览: 56
要返回插入后的主键ID,可以使用JDBC的PreparedStatement对象的getGeneratedKeys()方法。 这个方法将返回一个ResultSet对象,其中包含插入行的主键值。 下面是一个示例代码:
```java
String sql = "INSERT INTO my_table (column1, column2) VALUES (?, ?)";
PreparedStatement pstmt = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
pstmt.setString(1, "value1");
pstmt.setString(2, "value2");
int affectedRows = pstmt.executeUpdate();
if (affectedRows > 0) {
ResultSet rs = pstmt.getGeneratedKeys();
if (rs.next()) {
int id = rs.getInt(1);
System.out.println("Inserted ID: " + id);
}
}
```
在这个示例中,我们创建了一个PreparedStatement对象,并使用RETURN_GENERATED_KEYS参数来告诉JDBC在执行INSERT语句后返回生成的键。 然后,我们设置参数并执行更新。 如果受影响的行数大于0,则使用getGeneratedKeys()方法获取ResultSet对象,然后检查第一行以获取生成的主键值。