MYSQL 之 JDBC(十一): JDBC获取插入记录的主键值
取得数据库自动生成的主键值

package com.litian.jdbc; import javax.swing.plaf.nimbus.State;
import java.sql.*; /**
* @author: Li Tian
* @contact: litian_cup@163.com
* @software: IntelliJ IDEA
* @file: JDBCTest3.java
* @time: 2020/3/29 15:27
* @desc: |取得数据库自动生成的主键值
*/ public class JDBCTest3 {
public static void main(String[] args){
Connection conn = null;
PreparedStatement ps = null; try {
conn = JDBCTools.getConnection();
String sql = "insert into t_user(username, pwd) values(?,?)";
// ps = conn.prepareStatement(sql); // 使用重载的ps方法来生成ps对象
ps = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
ps.setString(1, "pika");
ps.setString(2, "123456");
ps.executeUpdate(); // 通过getGeneratedKeys方法获取包含了新生成的主键的ResultSet对象
// 在ResultSet中只有一列GENERATED_KEYS,用于存放新生成的主键值
ResultSet rs = ps.getGeneratedKeys();
if(rs.next()){
System.out.println(rs.getInt(1));
} ResultSetMetaData rsmd = rs.getMetaData();
for (int i = 0; i < rsmd.getColumnCount(); i++) {
System.out.println(rsmd.getColumnName(i + 1));
} } catch (Exception e) {
e.printStackTrace();
} finally {
JDBCTools.release(null, ps, conn);
}
}
}
————————————————
版权声明:本文为CSDN博主「李英俊小朋友」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_21579045/article/details/105386353
MYSQL 之 JDBC(十一): JDBC获取插入记录的主键值的更多相关文章
- JDBC_获取插入记录的主键值
<span style="font-size:24px;">package src.com.JDBC2DAO.java; import static org.junit ...
- <九>JDBC_获取插入记录的主键值
- MyBatis 插入时返回刚插入记录的主键值
MyBatis 插入时返回刚插入记录的主键值 一.要求: 1.数据库表中的主键是自增长的,如:id: 2.获取刚刚插入的记录的id值: 二.源代码: 1.User.java package cn.co ...
- spring jdbc获取插入记录的主键id
在JDBC3.0规范中,当新增记录时,允许将数据库自动产生的主键值绑定到Statement或PreparedStatement中.使用Statement时,可以通过以下方法绑定主键值: int exe ...
- 初学JDBC,获取插入记录的主键、执行批量操作
一.获取插入记录主键值 在创建语句的地方使用Statement.RETURN_GENERATED_KEYS标识一下,然后通过getGeneratedKeys方法获得 preparedStatement ...
- Mybaits插入记录返回主键值
某些情况进行insert时不知道主键值(主键为自增),例如系统新增用户时,有用户序号(主键 自增),用户名,密码.插入时只需插入用户名和密码,之后取得mysql自增的序号. 如下为mysql的usr表 ...
- IBatisNet:让insert操作返回新增记录的主键值
项目引用ibatis包: IBatisNet.Common.dll --文件版本1.6.2.0 IBatisNet.DataAccess.dll IBatisNet.DataMapper.dll 项目 ...
- JDBC学习笔记(6)——获取自动生成的主键值&处理Blob&数据库事务处理
获取数据库自动生成的主键 [孤立的技术是没有价值的],我们这里只是为了了解具体的实现步骤:我们在插入数据的时候,经常会需要获取我们插入的这一行数据对应的主键值. 具体的代码实现: /** * 获取数据 ...
- 【转】JDBC学习笔记(6)——获取自动生成的主键值&处理Blob&数据库事务处理
转自:http://www.cnblogs.com/ysw-go/ 获取数据库自动生成的主键 我们这里只是为了了解具体的实现步骤:我们在插入数据的时候,经常会需要获取我们插入的这一行数据对应的主键值. ...
随机推荐
- 纯CSS如何实现状态圆点
.circle { display: inline-block; width: 12px; height: 12px; } .circle:after { content: ''; margin: 3 ...
- 如何修改centOS7的GUI图形界面
在安装Gnome包之前,需要检查一下安装源(yum)是否正常,因为需要在yum命令来安装gnome包. 第一步:先检查yum 是否安装了,以及网络是否有网络.如果这两者都没有,先解决网络,在解决yum ...
- 解决:gradle 前言中不允许有内容
将Android Studio 升级到4.0然后创建一个新项目,编译出现“ gradle 前言中不允许有内容” 的错误,在网上找了很多资料,众说纷纭,但都没有解决我的问题,最后反复摸索把问题解决了. ...
- C#基础——IO
最近一直忙着做项目,偶尔会碰到一些文件读写方面的需求,当我回忆读写的代码时,发现脑子里存在诸多空白.这是不妙的,于是连忙翻出以前记下的笔记,上面还存在着我当初写下的知识点.怕以后哪天笔记找不到了或者有 ...
- 在群晖NAS上运行URLOS之后竟然能安装Discuz! Q!!
如果我们手头上有1台群晖NAS时,有没有考虑过把群晖NAS当成服务器来使用,这样会不会很有意思呢? 现在,我们终于可以尝试一番了,把群晖NAS变成一台实实在在的服务器,在上面跑各种运行环境!其实很简单 ...
- Java 多线程基础(七)线程休眠 sleep
Java 多线程基础(七)线程休眠 sleep 一.线程休眠 sleep sleep() 方法定义在Thread.java中,是 static 修饰的静态方法.sleep() 的作用是让当前线程休眠, ...
- Python学习日志-03
(3)如何运行程序 交互提示模式下编写代码: 最简单的运行Python程序的办法就是在Python交互命令行中输入这些程序.在cmd中输入python,不需要任何参数就可以进入Python交互命令行 ...
- Accelerate Framework in Swift
介绍: 最近看到这篇文章有对Accelerate框架有一个介绍,自己也按照作者给的思路整理了一遍,也算是对这一框架的一个重新的回顾和学习,在以前研究AR先关只是的时候有接触到这个框架,赞具体里面的东西 ...
- skywalking7 源码解析 (3) :agent启动服务分析以及性能影响
skywalking必看的文章,转载自https://blog.csdn.net/u010928589/article/details/106608864/
- F查询与Q查询、事务及其它
一.F查询和Q查询 1.1 F查询 在上面所有的例子中,我们构造的过滤器都是将字段值与某个我们自己设定的常量做比较.如果是对两个字段的值做比较,那这时候就要用到F查询了. Django提供F()来做这 ...