在Java中插入SQL后访问自动增量标识字段,可以使用Statement.RETURN_GENERATED_KEYS
参数来获取自动增量的主键值。
示例代码如下:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
public class Main {
public static void main(String[] args) {
try {
// 加载数据库驱动
Class.forName("com.mysql.jdbc.Driver");
// 建立数据库连接
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "password");
// 创建插入语句
String sql = "INSERT INTO users (name, age) VALUES (?, ?)";
PreparedStatement pstmt = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
// 设置参数
pstmt.setString(1, "John");
pstmt.setInt(2, 25);
// 执行插入语句
int affectedRows = pstmt.executeUpdate();
// 获取自动增量主键值
ResultSet generatedKeys = pstmt.getGeneratedKeys();
if (generatedKeys.next()) {
int id = generatedKeys.getInt(1);
System.out.println("自动增量主键值为:" + id);
}
// 关闭资源
generatedKeys.close();
pstmt.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
在上述示例代码中,我们使用Statement.RETURN_GENERATED_KEYS
参数来获取自动增量的主键值。在执行插入语句后,使用getGeneratedKeys()
方法获取自动增量主键值,并将其打印出来。
注意:在使用Statement.RETURN_GENERATED_KEYS
参数时,需要在插入语句中包含自动增量的主键字段。
领取专属 10元无门槛券
手把手带您无忧上云