public int insert(String cName, String ebrand, String cGender) {
String sql = "insert into Cloth (cname,ebrand,cgender) values(?,?,?) ";
Connection conn = DruidUtil.getConn();
PreparedStatement prep = null;
ResultSet rs = null ;
try {
prep = conn.prepareStatement(sql,
PreparedStatement.RETURN_GENERATED_KEYS);
prep.setString(1, cName);
prep.setString(2, ebrand);
prep.setString(3, cGender);
prep.executeUpdate();
rs = prep.getGeneratedKeys();
if (rs.next()) {
//获取插入数据的Id(主键,自增长)
int cId = rs.getInt(1) ;
// 返回这个Id
return cId ;
}
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException(e);
} finally {
DruidUtil.close(conn, prep, rs);
}
return -1; }

  本例中使用的数据库是mysql,在使用jdbc时使用getGeneratedKeys()来获取返回值rs

    其中在数据库中id为主键,自增长的int类型

  rs.getInt(1)获取自增长的id的具体数值

    将id作为返回值。

prep = conn.prepareStatement(sql,
PreparedStatement.RETURN_GENERATED_KEYS);
prep.setString(1, cName);
prep.setString(2, ebrand);
prep.setString(3, cGender);
prep.executeUpdate();
rs = prep.getGeneratedKeys();
if (rs.next()) {
//获取插入数据的Id(主键,自增长)
int cId = rs.getInt(1) ;
// 返回这个Id
return cId ;
}
												

Java中获取刚插入数据库中的数据Id(主键,自动增长)的更多相关文章

  1. Mysql 中获取刚插入的自增长id的值

    insert into user (username,password) VALUES ('); //获取刚插入的自增长id的值 select last_insert_id(); 在MySQL中,使用 ...

  2. Spring boot jpa 设定MySQL数据库的自增ID主键值

    内容简介 本文主要介绍在使用jpa向数据库添加数据时,如果表中主键为自增ID,对应实体类的设定方法. 实现步骤 只需要在自增主键上添加@GeneratedValue注解就可以实现自增,如下图: 关键代 ...

  3. 如何在dapper中获取刚插入行的ID

    二话不说: 1.先建立个表 CREATE TABLE [dbo].[UserInfo](    [ID] [int] IDENTITY(1,1) NOT NULL,    [UserName] [nc ...

  4. yii2框架获取刚插入数据库的id (原创)

    $insert_id = $UserModel->attributes['id'];

  5. SQLite设置主键自动增长及插入语法

    SQLite中,一个自增长字段定义为INTEGER PRIMARY KEY AUTOINCREMENT,那么在插入一个新数据时,只需要将这个字段的值指定为NULL,即可由引擎自动设定其值,引擎会设定为 ...

  6. sql插入查询出的数据,主键递增

    INSERT INTO C_DPRECORD SELECT (SEQ_C_DPRECORD.NEXTVAL ) AS ID, DEV_ID, DEV_CHNNUM, DEV_NAME, DEV_CHN ...

  7. oracle数据库表用序列实现主键自增长

    原理注意:序列和触发器必须建立在同一个用户名下否则运行出错1.建立数据表create table 表名(           userid number(10) primary key,        ...

  8. Hibernate框架的基本搭建(一个小的java project的测试向数据库中插入和查询数据的功能)

    Hibernate介绍:Hibernate是一种“对象-关系型数据映射组件”,它使用映射文件将对象(object)与关系型数据(Relational)相关联,在Hibernate中映射文件通常以&qu ...

  9. C#获取刚插入的数据的id

    在开发程序中我们经常会遇到两个表或多个表关联同时插入数据的需求. 那么我们刚给主表插入一条数据,接着给副表插入数据时其中一个字段要存储与主表关联的id,那么我们该怎么获取刚插入的那条数据的id呢?   ...

随机推荐

  1. Go语言标准库之strconv

    Go语言中strconv包实现了基本数据类型和其字符串表示的相互转换. strconv包 strconv包实现了基本数据类型与其字符串表示的转换,主要有以下常用函数: Atoi().Itia().pa ...

  2. flex布局笔记整理

    flex布局笔记整理 了解-webkit-box 利用postcss进行css代码的向后兼容时,display:flex兼容后的代码常会带有display:-webkit-box. 部分移动端内核较低 ...

  3. 阿里云服务器CentOS7.3上通过Docker安装MySQL

    一.前言 我的服务器环境: CentOS7.3 Docker Portainer -> Docker可视化界面工具 二.拉取mysql镜像 这里我安装的是mysql5.7版本 docker pu ...

  4. Salesforce学习之路-developer篇(一)利用VS Code结合Git开发Salesforce

    Part 1: 从Git中克隆代码到本地 git clone https://github.com/git/git Part 2: 在VS Code中安装Salesforce和Git插件 在VS Co ...

  5. HashMap浅析

    一.概述 HashMap,基于哈希结构的Map接口的一个实现,无序,允许null键值对,线程不安全的.可以使用集合工具类Collections中的synchronizedMap方法,去创建一个线程安全 ...

  6. 微信小程序中的tabBar设置

    我们先来看一份图,这个设置在官方文档中已经写得很清楚了,我只是做一个总结 注:我写注释是为了方便说明,在小程序中的json文件中是不能用注释的 这个tabBar属于全局属性,因此就在全局配置文件app ...

  7. Python学习-while循环&逻辑运算符

    一.while循环,continue.break语句在while循环中的使用 1.while循环语句: while 条件:     代码块 执行过程:判断条件是否为真,如果为真,执行代码块,继续下次循 ...

  8. java异常类的妙用

    异常类的妙用   以往在使用异常时,只是知道通过异常类的构造方法设置一些出错信息,此外最多就是把引起该异常的原因通过Throwable类的子类一同设置进去.今天在分析springSecurity3.0 ...

  9. redis分布式锁-WATCH锁(废弃)

    使用watch构建锁的代码结构.(最着负载不断增加,系统完成一次加锁操作,重试次数不断加大) pine=conn.pineline while pine.watch if xxx pine.unwat ...

  10. httpclient整理

    package com.yjl.util; import net.sf.json.JSONObject; import org.apache.commons.lang3.StringUtils; im ...