当前位置:首页 > 开发 > 编程语言 > 编程 > 正文

利用JDBC获得INSERT插入后生成的主键ID

发表于: 2011-11-05   作者:baalwolf   来源:转载   浏览次数:
摘要: ps = conn.prepareStatement("insert into test(name) value(?)",Statement.RETURN_GENERATED_KEYS); ps.setString(1, "test"); ps.execute(); rs = ps.getGeneratedKeys(); int id=0;//保存生
ps = conn.prepareStatement("insert into test(name) value(?)",Statement.RETURN_GENERATED_KEYS);
ps.setString(1, "test");
ps.execute();
rs = ps.getGeneratedKeys();
int id=0;//保存生成的ID
if (rs != null&&rs.next()) {
    id=rs.getInt(1)
}


有时候,在用insert插入数据后,想获得刚插入记录的ID,可以利用JDBC的getGeneratedKeys获得INSERT插入后生成的主键ID。本例数据库为mysql,主键ID为int类型,用auto_increment生成。





以下为主要的java代码 :
ps = conn.prepareStatement("insert into test(name) value(?)",Statement.RETURN_GENERATED_KEYS); 
ps.setString(1, "test"); 
ps.execute(); 
rs = ps.getGeneratedKeys(); 
int id=0;//保存生成的ID  
if (rs != null&&rs.next()) { 
    id=rs.getInt(1) 

ps = conn.prepareStatement("insert into test(name) value(?)",Statement.RETURN_GENERATED_KEYS);
ps.setString(1, "test");
ps.execute();
rs = ps.getGeneratedKeys();
int id=0;//保存生成的ID
if (rs != null&&rs.next()) {
    id=rs.getInt(1)
}

本例用到的主要方法为以下两个,可以查阅JDK参考文档:

1、PreparedStatement prepareStatement ( String sql, int autoGeneratedKeys) throws SQLException(在java.sql.Connection接口中)

2、ResultSet getGeneratedKeys () throws SQLException(在java.sql.PreparedStatement 接口中)

利用JDBC获得INSERT插入后生成的主键ID

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
当我们插入一条数据的时候,我们很多时候都想立刻获取当前插入的主键值返回以做它用。我们通常的做
转载请注明: TheViper http://www.cnblogs.com/TheViper 以前写过一篇更简单的 编辑器从光标处插入
这是今天在微博的一个人发的,有人@我了,我就做了一个,看一下吧, 两次结果相差如此直大。。。。
插入缓冲,并不是缓存的一部分,而是物理页, 对于非聚集索引的插入或更新操作,不是每一次直接插入索引
参考: 1.http://liuqing9382.iteye.com/blog/1574864 2.http://blog.csdn.net/ultrani/article/det
参考: 1.http://liuqing9382.iteye.com/blog/1574864 2.http://blog.csdn.net/ultrani/article/det
EnumProcess.h #pragma once #pragma comment(lib, "psapi.lib") #include < windows.h > #in
让iBatis中的insert返回主键 [ibatis insert 返回 自增主键] 2008年02月26日 星期二 下午 04:14 <
让iBatis中的insert返回主键 [ibatis insert 返回 自增主键] 2008年02月26日 星期二 下午 04:14 <
让iBatis中的insert返回主键 [ibatis insert 返回 自增主键] 2008年02月26日 星期二 下午 04:14 <
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号