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

 更新时间:2013年08月09日 15:27:38   作者:  
这篇文章介绍了Java获取最后插入MySQL记录的自增ID值的3种方法,有需要的朋友可以参考需要

方法一:

复制代码 代码如下:

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
}

方法二:

复制代码 代码如下:

SELECT MAX(id) FROM table

该方法在多线程等情况下可能会造成不正确。

方法三:

复制代码 代码如下:

SELECT LAST_INSERT_ID() 或者 SELECT @@INDENTITY

这两个都是单个连接的,不存在所谓的两个人都同时插入,分不清的问题
唯一的问题是,如果一句INSERT插入多条,返回的是第一个ID

相关文章

  • java使用正则抓取网页邮箱

    java使用正则抓取网页邮箱

    这篇文章主要为大家详细介绍了java使用正则抓取网页邮箱的相关资料,感兴趣的小伙伴们可以参考一下
    2016-05-05
  • java实现多个文件压缩成压缩包

    java实现多个文件压缩成压缩包

    这篇文章主要为大家详细介绍了java实现多个文件压缩成压缩包,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-07-07
  • java使用httpclient 发送请求的示例

    java使用httpclient 发送请求的示例

    HttpClient 是Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议,这篇文章主要介绍了java使用httpclient 发送请求的示例,需要的朋友可以参考下
    2023-10-10
  • Java详细讲解分析双指针法的使用

    Java详细讲解分析双指针法的使用

    严格的来说,双指针只能说是是算法中的一种技巧。双指针指的是在遍历对象的过程中,不是普通的使用单个指针进行访问,而是使用两个相同方向(快慢指针)或者相反方向(对撞指针)的指针进行扫描,从而达到相应的目的
    2022-04-04
  • elasticsearch的zenDiscovery和master选举机制原理分析

    elasticsearch的zenDiscovery和master选举机制原理分析

    这篇文章主要介绍了elasticsearch的zenDiscovery和master选举机制原理分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-04-04
  • springboot中使用@NotNull注解无效解决方法

    springboot中使用@NotNull注解无效解决方法

    这篇文章主要给大家介绍了关于springboot中使用@NotNull注解无效的解决方法,进行参数校验的时候,加了@NotNull注解,@Validated注解和@Valid注解,但是参数校验的时候不生效,需要的朋友可以参考下
    2023-08-08
  • Java把数字格式化为货币字符串实例代码

    Java把数字格式化为货币字符串实例代码

    这篇文章主要介绍了Java把数字格式化为货币字符串实例代码,需要的朋友可以参考下
    2014-02-02
  • JavaWeb项目中dll文件动态加载方法解析(详细步骤)

    JavaWeb项目中dll文件动态加载方法解析(详细步骤)

    这篇文章主要介绍了JavaWeb项目中dll文件动态加载方法,步骤详细,在这里分享给大家,需要的朋友可以了解下。
    2017-09-09
  • Java通用Mapper UUID简单示例

    Java通用Mapper UUID简单示例

    今天小编就为大家分享一篇关于Java通用Mapper UUID简单示例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • Java设计模式之java访问者模式详解

    Java设计模式之java访问者模式详解

    这篇文章主要介绍了JAVA设计模式之访问者模式,简单说明了访问者模式的原理,并结合实例分析了java访问者模式的定义与用法,需要的朋友可以参考下
    2021-09-09

最新评论