当前位置:  编程技术>java/j2ee

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

    来源: 互联网  发布时间:2014-10-26

    本文导语:  方法一: 代码如下:String sql = "INSERT INTO users (username,password,email) VALUES (?,?,?);";PreparedStatement pstmt = (PreparedStatement) conn.prepareStatement(sql,Statement.RETURN_GENERATED_KEYS);//传入参数:Statement.RETURN_GENERATED_KEYSpstmt.setString(1, user.getUsername());pstm...

方法一:

代码如下:

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 对树的操作,TreeSet,能否插入相同的数据,如果相同,如何解决
  • 急问题:在java中嵌入sql的插入语句,插入成功,但是出现异常
  • JAVA连数据库并插入数据的问题?
  • java二分查找插入法
  • java插入排序 Insert sort实例
  • 有关java.sql.ResultSet 利用SetDate往 oracle 中插入时间和日期的问题!!
  • JAVA算法起步之插入排序实例
  • java操作mysql入门代码实例(含插入、更新和查询)
  • java直接插入排序示例
  • java 下执行mysql 批量插入的几种方法及用时
  • java实现插入mysql二进制文件,blob类型,遇到问题及解决办法
  • Java直接插入排序算法实现
  • 编程技术其它 iis7站长之家
  • Java获取网络文件并插入数据库的代码
  • java Servlet获取和设置cookie实例代码
  • java获取系统路径字体、得到某个目录下的所有文件名、获取当前路径
  • java获取时间的方法总结
  • ***在线等待!!!***Java中怎样获取,应用图片?
  • 听说Java有获取硬件信息的类,那位知道是什么?
  • 如何获取Java 文件 编译时打印在控制台的错误信息.
  • 在java中如何获取window中环境变量path的值!!!高分
  • java获取日期的方法
  • 怎样在JAVA里实现获取指定服务器上所有可用数据库的列表??
  • 在执行java程序时,如何获取当前.class文件的路径
  • unix环境如何通过shell或java获取windows机器上的csv文件?
  • 菜鸟问题:如何让jsp来获取与之关联的java 数据(赚分了)
  • hp_ux下如何使用java获取top信息
  • java从输入流中获取数据并返回字节数组示例
  • java获取当前日期使用实例
  • java 获取项目文件路径实现方法
  • java正则表达式获取url的host示例
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Java 应用执行记录器 Chronon
  • 请教一个关于java记录集的问题
  • 请教java高手怎样把一个记录写到文件中去?然后再读出来?
  • java中查询的数据库记录如何在JTable控件中显示?
  • 请问在java钟如何得到数据库中的记录总数,以及如何求数据库中一个字段的和?
  • 请教:请问java中存放数据库中的记录,用什么数据结构?(hashtable?vector?还是别的?)
  • 如何实现在java界面程序中向数据库添加记录,能不能给你例子??
  • 请问存储过程若是返回结果集记录的情况下,java如何调用?
  • 求救:java中如何实现把ResultSet中的记录显示到JTable控件中?
  • Java实现获得MySQL数据库中所有表的记录总数可行方法
  • java使用动态代理来实现AOP(日志记录)的实例代码
  • java命名空间java.sql类types的类成员方法: java_object定义及介绍
  • 我想学JAVA ,是买THINK IN JAVA 还是JAVA2核心技术:卷1 好???
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: imageflavor定义及介绍
  • 请问Java高手,Java的优势在那里??,Java主要适合于开发哪类应用程序
  • java命名空间java.lang.management类managementfactory的类成员方法: getcompilationmxbean定义及介绍
  • 如何将java.util.Date转化为java.sql.Date?数据库中Date类型对应于java的哪个Date呢
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getlibrarypath定义及介绍
  • 谁有电子版的《Java编程思想第二版(Thinking in java second)》和《Java2编程详解(special edition java2)》?得到给分
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getstarttime定义及介绍
  • 本人想学java,请问java程序员的待遇如何,和java主要有几个比较强的方向
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: stringflavor定义及介绍
  • 我对JAVA一窍不通,可惜别人却给我一个Java的project,要我做一个安装程序,请问哪里有JAVA INSTALLER下载,而且我要不要安装java的sdk才能完成此项任务?
  • java命名空间java.security类keystore的类成员方法: getdefaulttype定义及介绍
  • 新年第一天,让我们讨论一下未来一年JAVA的发展趋势! 个人认为,JAVA将主要朝ERP和JAVA手机方面发展!
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getclasspath定义及介绍
  • 我想学Java,但不知道Java的实用的开发工具有那些,Java主要用在哪些方面,EJB到底是什么东西??
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: javaserializedobjectmimetype定义及介绍
  • redhat7.3下,java程序打印中文直接用java命令执行正常,用crontab执行java命令为乱码
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: javafilelistflavor定义及介绍
  • 各位学java的朋友,学java的未来是什么,你们学java都用来开发什么项目啊!来者给分!!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3