`

JDBC自动获取数据库自动生成的主键

阅读更多

PreparedStatement.getGeneratedKeys() //得到执行添加操作后自动生成的主键值

       PreparedStatement ps = connection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);

       ps.executeUpdate();

ResultSet rs = st.getGeneratedKeys();//得到执行添加操作后自动生成的主键值

rs.getInt(1);

 

public class OtherApi {

    public static void main(String[] args) throws SQLException,

           InterruptedException {

       int id = create();

       System.out.println("id:" + id);

    }

    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);  //这样设置可以返加添加的这条记录的主键值

           ps.executeUpdate();

           rs = ps.getGeneratedKeys();//到到添加后的主键值类型是ResultSet

           int id = 0;

           if (rs.next()){

              id = rs.getInt(1);

           }

           return id;

       } finally {

           JdbcUtils.free(rs, ps, conn);

       }

    }

}

 

分享到:
评论

相关推荐

    java获取数据库主外键

    通过本文的介绍,我们可以看到利用Java JDBC API可以很方便地获取MySQL数据库的表结构、主键、外键信息。这对于开发人员来说非常有用,特别是在进行数据库迁移、生成数据库文档或创建数据库管理工具时。希望本文能对...

    jdbc 插入记录并返回自增主键值

    `executeUpdate()`方法执行插入操作,而`getGeneratedKeys()`则返回一个`ResultSet`,其中包含由数据库生成的所有键。由于我们只插入了一条记录,所以`ResultSet`通常只有一个行,可以通过`rs.getInt(1)`获取第一列...

    hibernate自动生成数据库文件

    本文将深入探讨Hibernate如何自动生成数据库文件,以及相关知识点。 首先,Hibernate的核心概念是对象关系映射(ORM),它通过元数据(如XML配置文件或注解)将Java类与数据库表进行绑定。当需要自动生成数据库文件...

    Java自动生成Mysql数据库结构

    "Java自动生成Mysql数据库结构"这个主题,就是关于如何利用编程语言自动化处理数据库设计的一部分。这个功能可以帮助开发者快速地创建数据库文档,减少手动编写SQL脚本和设计模式的时间。 首先,我们要理解这个代码...

    代码自动生成_连接数据库生成entity(可自定义)_mysql

    标题中的“代码自动生成_连接数据库生成entity(可自定义)_mysql”指的是一个自动化工具或框架,它能够帮助开发者从数据库结构自动生成对应的实体(Entity)类,这些实体类通常用于ORM(对象关系映射)框架,如...

    Java自动生成数据库表实体和mybatis接口以及xml文件

    2. 获取表信息:执行SQL查询获取数据库中的表结构,包括字段名、数据类型、主键等信息。 3. 实体类生成:根据表信息生成Java实体类,每个字段对应表中的一个列,数据类型需要转换为Java类型。同时,可以添加一些...

    java代码生成器数据库表一键生成类文件

    这个小项目的核心功能在于自动化地从数据库中读取表的信息,如字段名、数据类型、主键等,然后根据这些信息生成对应的Java实体类、DAO(数据访问对象)、Service以及Mapper接口等文件。通过这种方式,开发者可以快速...

    数据库表结构文档自动生成工具

    “数据库生成数据doc”这个文件名可能是指工具生成的数据库文档实例,包含了具体的表结构信息,用户可以通过查看这个文件了解工具的输出格式和内容。为了更好地利用这个工具,用户需要熟悉基本的数据库概念,如数据...

    java生成数据库表序列号

    对于不支持序列的数据库,如MySQL,可以通过设置主键的`auto_increment`属性,然后执行`INSERT`语句来自动获取新生成的ID。 在实际项目中,我们可能会使用ORM框架如Hibernate或MyBatis来简化数据库操作。例如,在...

    支持主键自增的数据库获取主键值.zip

    但这种方式并不适用于所有数据库,因此MyBatis提供了更通用的解决方案,即通过JDBC的`Statement.getGeneratedKeys()`方法来获取自增主键。 总的来说,当使用MyBatis操作支持主键自增的数据库时,正确配置映射文件并...

    08_ibatis教程_sql主键生成方式.rar

    在Ibatis中,只需在Mapper XML文件中的`<insert>`标签中设置`useGeneratedKeys="true"`和`keyProperty="id"`,就可以让数据库自动生成主键。 4. **雪花算法(Snowflake Algorithm)**: 在分布式环境下,为了保证...

    基于Java的简单数据库设计生成工具(生成Excel文档)

    本工具,名为"基于Java的简单数据库设计生成工具(生成Excel文档)",旨在简化这一过程,将数据库表结构、主键信息和索引信息等重要数据以直观易读的Excel格式呈现。 首先,让我们来了解下核心技术: 1. **Java**:...

    MySQL表自动生成Java实体类

    5. **自动获取表名**: 为了简化过程,这里提到的代码可能包含了自动获取表名的功能,避免开发者手动输入表名,提高了自动化程度。 6. **配置输出路径**: 生成的Java源代码需要保存到某个目录下,开发者需要指定输出...

    基于JDBC与MySQL数据库的电子商城系统

    在构建基于JDBC与MySQL数据库的电子商城系统时,我们需要关注多个关键技术和概念。以下是这些模块的详细说明: 1. **商品信息模块**: 商品信息模块是电子商城的核心部分,它负责存储、管理和检索商品数据。这通常...

    实体类模型构建(根据数据库自动生成实体类)

    对于Java开发,Eclipse提供了强大的代码自动生成工具,包括从数据库生成实体类。 JDK1.7是Java Development Kit的一个版本,包含了Java运行环境和开发工具。虽然现在已经有更新的JDK版本,但JDK1.7仍然在许多项目中...

    数据库表结构生成WORD文档工具

    8. **软件接口**:工具可能通过数据库提供的API或者ODBC/JDBC等接口来连接和获取数据,这些接口使得不同编程语言能够与数据库交互。 9. **版本控制**:如果工具具备版本控制功能,用户可以追踪表结构的历史变化,这...

    JPA环境搭建及JPA实例与JPA主键生成策略

    2. **SEQUENCE**:使用数据库序列生成主键,适用于支持序列的数据库,如Oracle。 3. **TABLE**:通过数据库表生成主键,适用于不支持序列的数据库,如MySQL。 4. **UUID**:生成全局唯一的UUID字符串作为主键。 5. *...

    读取数据库表结构生成自定义代码.zip

    "读取数据库表结构生成自定义代码"这个主题涉及到数据库管理、数据建模以及自动化编程等多个方面。下面将详细探讨这些知识点。 首先,数据库表结构是数据库设计的重要组成部分,它定义了数据库中的表、字段(或称为...

    基于SQL-92和JDBC的SpaceOS数据库数据迁移的实现.pdf

    代理主键通常用于在没有自然主键的表中生成唯一的标识符。在数据迁移时,必须处理这些主键值,确保它们在新环境中保持唯一,同时避免与现有数据冲突。 【JDK 1.6】 JDK(Java Development Kit)是Java编程语言的...

Global site tag (gtag.js) - Google Analytics