源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Java获取最后插入MySQL记录的自增ID值的3种方法

  • 时间:2022-04-11 05:29 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Java获取最后插入MySQL记录的自增ID值的3种方法
方法一:
[u]复制代码[/u] 代码如下:
String sql = "INSERT INTO users (username,password,email) VALUES (?,?,?);"; PreparedStatement pstmt = (PreparedStatement) conn.prepareStatement(sql,Statement.RETURN_GENERATED_KEYS);//传入参数:Statement.RETURN_GENERATED_KEYS pstmt.setString(1, user.getUsername()); pstmt.setString(2, user.getPassword()); pstmt.setString(3, user.getEmail()); pstmt.executeUpdate();//执行sql                                                                             int autoInckey = -1; ResultSet rs = pstmt.getGeneratedKeys(); //获取结果   if (rs.next()) {   autoIncKey = rs.getInt(1);//取得ID } else {   // throw an exception from here }
方法二:
[u]复制代码[/u] 代码如下:
SELECT MAX(id) FROM table
该方法在多线程等情况下可能会造成不正确。 方法三:
[u]复制代码[/u] 代码如下:
SELECT LAST_INSERT_ID() 或者 SELECT @@INDENTITY
这两个都是单个连接的,不存在所谓的两个人都同时插入,分不清的问题 唯一的问题是,如果一句INSERT插入多条,返回的是第一个ID
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部