博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JDBC 获取被插入数据的主键ID值
阅读量:5163 次
发布时间:2019-06-13

本文共 1033 字,大约阅读时间需要 3 分钟。

除了用存储过程还有以下方法可以获取:

 

 

static int create() throws SQLException {

    Connection conn = null;
    PreparedStatement ps = null;
    ResultSet rs = null;
    try {
        // 2.建立连接
        conn = JdbcUtils.getConnection();
        // conn = JdbcUtilsSing.getInstance().getConnection();
        // 3.创建语句
        String sql = "insert into user(name,birthday, money) values ('name2 gk', '1987-01-01', 400) ";
        ps = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);//参数2最好写上,虽然Mysql不写也能获取但是不代表别的数据库可以做到
        ps.executeUpdate();

        rs = ps.getGeneratedKeys();

        int id = 0;
        if (rs.next())
            id = rs.getInt(1);
        return id;
    } finally {
        JdbcUtils.free(rs, ps, conn);
    }
}

 

 

 


getGeneratedKeys
ResultSet getGeneratedKeys()                           throws SQLException
获取由于执行此
Statement 对象而创建的所有自动生成的键。如果此
Statement 对象没有生成任何键,则返回空的
ResultSet 对象。

注:如果未指定表示自动生成键的列,则 JDBC 驱动程序实现将确定最能表示自动生成键的列。

返回:
包含通过执行此
Statement 对象自动生成的键的
ResultSet 对象
抛出:
SQLException - 如果发生数据库访问错误,或者在已关闭的
Statement 上调用此方法
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
从以下版本开始:
1.4

转载于:https://www.cnblogs.com/flying607/p/3461980.html

你可能感兴趣的文章
学习笔记-KMP算法
查看>>
Timer-triggered memory-to-memory DMA transfer demonstrator
查看>>
跨域问题整理
查看>>
[Linux]文件浏览
查看>>
64位主机64位oracle下装32位客户端ODAC(NFPACS版)
查看>>
获取国内随机IP的函数
查看>>
今天第一次写博客
查看>>
江城子·己亥年戊辰月丁丑日话凄凉
查看>>
IP V4 和 IP V6 初识
查看>>
Spring Mvc模式下Jquery Ajax 与后台交互操作
查看>>
(转)matlab练习程序(HOG方向梯度直方图)
查看>>
『Raid 平面最近点对』
查看>>
【ADO.NET基础-数据加密】第一篇(加密解密篇)
查看>>
C语言基础小结(一)
查看>>
STL中的优先级队列priority_queue
查看>>
UE4 使用UGM制作血条
查看>>
浏览器对属性兼容性支持力度查询网址
查看>>
OO学习总结与体会
查看>>
虚拟机长时间不关造成的问题
查看>>
面试整理:Python基础
查看>>