[java/jdbc]插入数据时获取自增长主键的值

需求

数据库中的unum字段为自增长主键,使用sql语句插入时需要获取主键的值

insert into udata(upwd,utime,upath) values(?,?,?)

插入之后再查找显然效率太慢,其实jdbc提供了getGeneratedKeys()方法来获取主键

代码

PreparedStatement ps = conn.prepareStatement(sql,Statement.RETURN_GENERATED_KEYS);
ps.setObject(1,XXX);
.....
int rs=ps.executeUpdate();ResultSet generatedKeys = ps.getGeneratedKeys();
if (generatedKeys.next()) {unum=generatedKeys.getInt(1); //得到主键
}

说明

如果报异常

Generated keys not requested. You need to specify Statement.RETURN_GENERATED_KEYS to Statement.execu

mysql-connector包在5.1.17之后需要在prepareStatement里加上额外参数(Statement.RETURN_GENERATED_KEYSStatement.NO_GENERATED_KEYS)

ps = conn.prepareStatement(sql,PreparedStatement.RETURN_GENERATED_KEYS);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/266511.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

孩子还是有一颗网安梦——Bandit通关教程:Level0

🕵️‍♂️ 专栏《解密游戏-Bandit》 🌐 游戏官网: Bandit游戏 🎮 游戏简介: Bandit游戏专为网络安全初学者设计,通过一系列级别挑战玩家,从Level0开始,逐步学习基础命令行和安全概念…

Go语言学习路线规划

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…

【底层服务/编程功底系列】「网络通信体系」带你攻克网络技术之TCP协议的三次握手和四次链接的技术盲区

背景 当一台客户端和一台服务器进行通信时,TCP协议使用三次握手和四次挥手来建立和终止连接。 三次握手的作用 确认双方的发送和接收能力:在三次握手中,客户端和服务器需要交换彼此的序列号和确认号,以确认彼此的发送和接收能力…

安装程序无法自动安装Virtual Machine Communication Interface Sockets(VSock)驱动程序

环境情况: 物理机win10系统 虚拟机windowserver08系统 vmware 16.0的版本 问题触发: 在虚拟机win7系统上安装vmware tools出现提示,报错信息“安装程序无法自动安装Virtual Machine Communication Interface Sockets(VSock&a…

一文详解Java语言的条件判断语句

目录 一、什么是Java语言 二、什么是条件判断 三、if语句 四、switch语句 一、什么是Java语言 Java是一种广泛使用的高级编程语言,最初由Sun Microsystems(现在是Oracle公司的一部分)于1995年发布。它是一种面向对象的语言,具…

2023年阿里云云栖大会-核心PPT资料下载

一、峰会简介 历经14届的云栖大会,是云计算产业的建设者、推动者、见证者。2023云栖大会以“科技、国际、年轻”为基调,以“计算,为了无法计算的价值”为主题,发挥科技平台汇聚作用,与云计算全产业链上下游的先锋代表…

Python3开发环境的搭建

1,电脑操作系统的确认 我的是win10、64位的,你们的操作系统可自寻得。 2,Python安装包的下载 (1)浏览器种输入网址:https://www.python.org 选择对应的系统(我的是win10/64位) &#xf…

LeetCode 279完全平方数 139单词拆分 卡码网 56携带矿石资源(多重背包) | 代码随想录25期训练营day45

动态规划算法6 LeetCode 279 完全平方数 2023.12.11 题目链接代码随想录讲解[链接] int numSquares(int n) {//1确定dp数组,其下标表示j的完全平方数的最少数量//3初始化,将dp[0]初始化为0,用于计算,其他值设为INT_MAX用于递推…

HCIA-H12-811题目解析(9)

1、【单选题】下面选项中,能使一台IP地址为10.0.0.1的主机访问Interne的必要技术是? 2、【单选题】 FTP协议控制平面使用的端口号为? 3、【单选题】 使用FTP进行文件传输时,会建立多少个TCP连接? 4、【单选题】完成…

java.net.SocketException: Connection reset

背景 在我用socket进行TCP通信的时候,当我关闭client端时在服务端出现了Connection reset的异常。 一、问题 下面是异常信息: Exception in thread "Thread-12" java.lang.RuntimeException: java.net.SocketException: Connection reseta…

[面试篇~Spring] 必问基础知识

文章目录 1. 什么是 Spring2. Spring 框架有哪些主要的模块?3. 使用 Spring 框架能带来哪些好处?4. 什么是控制反转5. 什么是依赖注入6. 为什么使用依赖注入7. 在 Java 中依赖注入有哪几种方式8. 请解释下 Spring 框架中的 IoC?9. BeanFactor…

docker网络模式

查看当前网络 [rootdocker ~]# docker network list NETWORK ID NAME DRIVER SCOPE 89c12c0570e3 bridge bridge local 7aa72f2e6c2a host host local 271f52604302 none null local c4e4b2c40ab2 test_de…