`

如何得到JDBC Insert 语句执行后插入Oracle 数据库记录的主键

阅读更多
在应用中,很多时候会对表的主键用一个自动增涨的数来付值,如Oracle的sequence,插入后又想得到的主键的值。下面介绍一下相关的方法。

1,用Oracle 的returning 语句。

PreparedStatement  sta = conn.prepareStatement("INSERT INTO LOGGING VALUES (TESTSEQ.NEXTVAL,SYSDATE)returning id into ? ");

  sta.execute();
  ResultSet rset = sta.getResultSet();
  while(rset.next())
    {
      int id = rset.getInt(1);
    }


2,用JDBC的getGeneratedKeys,返回的是Oracle 的rowid.

PreparedStatement  sta = conn.prepareStatement("INSERT INTO TESTTABLE VALUES (TESTSEQ.NEXTVAL,'aaaa')",Statement.RETURN_GENERATED_KEYS);

  sta.execute();
  
  System.out.println(sta.getGeneratedKeys());
  ResultSet rest = sta.getGeneratedKeys();
  rest.next();
  //oracle rowid
  System.out.println(rest.getString(1));
分享到:
评论

相关推荐

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

    本篇文章将详细讲解如何通过JDBC在Java中执行插入操作并获取自增主键。 首先,确保你已经在项目中引入了MySQL的JDBC驱动。这通常通过在`.classpath`文件中添加对应的JAR依赖或在构建工具(如Maven或Gradle)的配置...

    Oracle数据库课堂笔记

    它们在数据插入和更新时自动执行,防止不符合规则的数据进入数据库。 第十讲:PL/SQL编程 PL/SQL是Oracle的编程语言,结合了SQL查询功能和过程式编程元素。它可以编写存储过程、函数、触发器等,用于处理复杂的业务...

    关于oracle数据库的增删改操作

    在Oracle中,插入新记录到表中使用INSERT语句。例如,如果我们有一个名为`employees`的表,包含`id`,`name`和`salary`字段,我们可以这样插入一条新记录: ```sql INSERT INTO employees (id, name, salary) ...

    JDBC操纵Oracle数据库中的BLOB字段

    ### JDBC操纵Oracle数据库中的BLOB字段 在现代的数据库应用中,处理二进制大对象(BLOB)数据是一项常见的需求,特别是在存储图像、音频或视频等多媒体内容时。本文将深入探讨如何使用Java Database Connectivity ...

    Oracle数据库课程设计报告(1).pdf

    Oracle数据库课程设计报告的核心内容是基于Oracle数据库管理系统构建一个管理系统的全过程,涵盖了需求分析、数据库设计、详细设计和测试等多个阶段。以下是对这些关键知识点的详细说明: 1. **需求分析**:在设计...

    Oracle数据库讲解与练习

    16.1部分可能涵盖了JDBC的基本概念,如驱动管理、数据库连接、执行SQL语句以及结果集的处理。16.2则可能深入讲解了批处理、连接池、预编译语句等高级特性,这些都是在大规模应用中提高性能和优化资源的关键。 "T1_...

    java使用oracle数据库

    在Java编程中,与Oracle数据库的交互是常见的需求。Oracle是一种功能强大的关系型数据库管理系统,广泛应用于企业级应用。要让Java程序连接并操作Oracle数据库,你需要了解以下几个关键知识点: 1. **创建Oracle...

    Oracle数据库课程设计医院系统数据库源代码.zip

    这可能包括创建表、定义字段、设置约束(如主键、外键)、插入数据、更新数据以及查询数据的语句。在Oracle数据库中,DDL(Data Definition Language)用于定义数据库结构,如CREATE TABLE,DML(Data Manipulation ...

    oracle数据库知识总结.docx

    3. 插入日期:使用`INSERT INTO`语句配合`TO_DATE`函数,如`INSERT INTO test VALUES (TO_DATE('2010-08-08 14:10:20', 'yyyy-MM-dd HH24:mi:ss'));` 4. 约束添加:`ALTER TABLE`语句可添加主键和外键约束,如`...

    (Oracle数据库管理)O数据库培训教材.docx

    这份"(Oracle数据库管理)O数据库培训教材"涵盖了从基础到进阶的Oracle知识,包括数据库概念、Oracle简介、用户与权限管理、数据类型、SQL语句、表空间、表、函数、约束以及各种查询技术,同时也涉及到JDBC(Java ...

    Java高级教程课件 java数据库教程 JDBC教程 2-oracle基础(2)(共48页).pptx

    JDBC是Java中与数据库交互的接口,允许程序通过编写Java代码执行SQL语句。JDBC编程包括加载驱动、建立连接、创建Statement或PreparedStatement对象、执行SQL和处理结果集等步骤。JDBC使得Java开发者能够灵活地处理...

    使用JDBC+Oracle完成一个JSP的留言管理程序

    - 增加留言:使用`Statement`或`PreparedStatement`对象执行`INSERT INTO`语句,将用户输入的数据插入到`MESSAGES`表。 - 删除留言:使用`DELETE FROM`语句,通常根据留言ID进行删除。 - 修改留言:使用`UPDATE`...

    java中xml文件的处理及oracle中xmltype的插入和读取.pdf

    在 Oracle 数据库中,我们可以使用 `INSERT` 语句将 XML 数据插入到 `resumes2` 表中: ```sql INSERT INTO resumes2 (employee_id, resume) VALUES (1, XMLType('<resume><name>John</name><age>30</age></resume>...

    使用JDBC4.0操作Oracle中BLOB类型的数据方法

    在Java的JDBC4.0版本中,Oracle数据库的BLOB类型数据操作变得更加方便。BLOB(Binary Large Object)是用来存储大对象,如图像、音频或视频文件等二进制数据的数据库字段类型。以下是对使用JDBC4.0操作Oracle中BLOB...

    数据库基础与JDBC编程技术.

    理解数据库的基本概念,如表、字段、记录、主键和外键,是数据库入门的关键。此外,SQL(结构化查询语言)是用于操作数据库的语言,包括创建、修改和查询数据。 SQL语句主要有以下几种类型: 1. DDL(Data ...

    Oracle数据库设计

    6. **触发器**:触发器是在特定数据库事件(如INSERT、UPDATE、DELETE)发生时自动执行的程序,用于实施业务规则或维护数据一致性。 7. **事务管理**:在Oracle中,事务是数据库操作的基本单元,确保数据的一致性和...

    jsp+javaBean实现的对Oracle数据库的emp表的增,删,改,查。

    在这个项目中,JavaBean包含了对Oracle数据库的操作,如连接数据库、执行SQL语句(INSERT, DELETE, UPDATE, SELECT)等,实现emp表的数据操作。 3. **Oracle数据库**:Oracle是一种关系型数据库管理系统,广泛应用...

    使用hibernate连接oracle数据库的详细方法,代码实现实现数据库的增删改查.zip

    - 创建:`session.save(entity)`,Hibernate会自动执行INSERT语句。 - 更新:首先,通过ID获取实体,然后修改属性,最后`session.update(entity)`。 - 删除:`session.delete(entity)`,Hibernate会执行DELETE...

    Struts2连接oracle数据库增删改查实例的实现[方案].doc

    DAO类包含连接数据库、执行SQL语句以及处理结果集的方法。在Struts2 Action类中,可以调用这些DAO方法来完成实际的数据库操作。 5. **实体类(Entity)**:为了映射数据库中的`users`表,需要创建一个对应的Java...

Global site tag (gtag.js) - Google Analytics