`
1927105
  • 浏览: 150417 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

oracle中返回主键值

 
阅读更多

在今天的ATM中,就用纯粹的jdbc来处理数据,当发现用user ,card,log之间的关系,在save用户之后,要用到user中id来关联到card中,的字段,而oracle中插入和跟新之后是返回的插入和更新的行数,后来想了想,也上网搜了一些资料,现在总结如下,

/**
* 添加用户
*/
@Override
public int save(User user)
{
temp = -1;
final String sql = "insert into atm_user(username,password,sex,idCard) values(?,?,?,?)";

try
{
String key[] =
{ "id" };
ps = this.conn.prepareStatement(sql, key);
ps.setString(1, user.getUsername());
ps.setString(2, user.getPassword());
ps.setString(3, String.valueOf(user.getSex()));
ps.setString(4, user.getIdCard());
temp = ps.executeUpdate();
System.out.println(temp);

rs = ps.getGeneratedKeys();
rs.next();
if (temp > 0)
{
temp = Integer.valueOf(rs.getString(1));
}

} catch (SQLException e)
{
e.printStackTrace();
try
{
conn.rollback();
} catch (SQLException e1)
{
e1.printStackTrace();
}
} finally
{
close();
}
return temp;
}

分享到:
评论

相关推荐

    oracle数据库主键自增并且返回主键值

    1.1、直接在PLSQL中设置 1.2、命令创建 create sequence seq_users ##创建序列seq_users increment by 1 ## 步长,每次加1 start with 1 ##从1开始 minvalue 1 ##最小值 maxvalue 9999999 ##最大值 order ##确保...

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

    在某些数据库中(如Oracle),可能需要使用其他方法来获取自增主键。 总的来说,Java中的JDBC提供了一种灵活且强大的方式来处理数据库操作,包括插入记录并获取自增主键。正确地使用预编译的`PreparedStatement`...

    Java调用oracle函数返回oracle类(类似)集合

    在Java中调用Oracle函数并处理返回的Oracle特定数据类型,如集合或索引表,通常涉及到Oracle的PL/SQL包和Java的JDBC驱动。以下是对这个主题的详细说明: 1. **Oracle索引表类型**: Oracle索引表是一种PL/SQL数据...

    MySQLDriverCS.dll

    - `MySqlDataReader`:用于读取命令执行返回的结果集,通常用于处理大量数据的高效读取。 了解并熟练掌握这些知识点,将使你在.NET环境中有效地与MySQL数据库进行交互,实现数据的存取和管理。记得在操作数据库时...

    Oracle数据库中ORDER BY排序和查询按IN条件的顺序输出

    然而,Oracle并没有保证按照`IN`列表中的顺序返回匹配的行。这意味着如果你期望`IN`列表内的值按照特定顺序输出,必须明确指定`ORDER BY`子句,将`IN`条件中的列作为排序依据。 在实际操作中,查看执行计划有助于...

    oracle格式化查看json数据

    Oracle中的JSON_TYPE函数用于确定JSON对象中某个键值的数据类型。例如,如果你有一个包含JSON对象的CLOB字段,你可以使用JSON_TYPE来检查特定键的类型,这在解析和验证数据时非常有用。 2. JSON_VALUE和JSON_QUERY...

    oracle主外键查询

    根据提供的标题、描述、标签及...通过以上内容的介绍,我们不仅了解了Oracle数据库中主外键的基本概念,还掌握了如何通过SQL查询来获取这些信息的具体方法。这对于日常开发工作以及数据库维护来说都是非常实用的技能。

    oracle的一些相关网页介绍

    Oracle序列是一种自动增长的数字序列生成器,常用于生成主键值。"oraclesequence_百度百科.mht"可能会详细解析如何创建和使用序列,以及序列在保持数据唯一性、避免并发问题等方面的角色。 这些网页资料涵盖了...

    Oracle中引入的JSON函数.pdf

    接下来,我们将深入探讨Oracle中引入的SQL/JSON函数的相关知识点,以及如何使用这些函数进行基本操作。 ### JSON函数概述 在Oracle Database 12c第2版(版本12.2)中引入的SQL/JSON函数可以分为三大类: 1. **...

    Oracle sequence 重置(失效恢复)

    然后,我们使用一个PL/SQL块来遍历所有需要重置的Sequence,并根据表中的最大主键值来设置Sequence的起始值。 #### 1. 定义函数`func_getseq` ```sql CREATE OR REPLACE FUNCTION func_getseq (in_table VARCHAR2)...

    oracle注册表彻底删除

    3. **删除旧目录**:在重启后,返回到原来的Oracle安装目录,将其整个删除。 #### 四、清理注册表 彻底删除Oracle不仅包括卸载软件本身,还需要清理注册表中的相关信息。清理注册表可以使用系统自带的注册表编辑器...

    oracle 完全卸载

    - 删除`HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application`中与Oracle相关的键值。 4. **清理环境变量**: - 修改系统环境变量`CLASSPATH`和`PATH`,移除所有与Oracle相关的路径。 - ...

    Oracle中利用哈希函数提高查询速度

    在Oracle数据库系统中,哈希函数的应用是一种优化查询性能的有效策略,特别是在处理大规模数据时。哈希函数的主要目的是通过计算键值的哈希值来均匀地分散数据,从而减少查询时需要扫描的簇块数量,进而提升查询效率...

    Oracle经典案例

    示例还涉及了序列(sequence)的概念,通过`create sequence`语句创建了一个名为`sq_sid`的序列,用于自动递增主键值。接着在循环中利用`sq_sid.nextval`为每一条新记录生成唯一的ID,并通过`insert`语句将数据插入到`...

    mybatis返回插入的id1

    在 MyBatis 框架中,当我们执行一个插入(insert)操作时,有时需要获取新插入记录的自增主键值,例如数据库中的唯一标识 ID。MyBatis 提供了方便的功能来实现这一需求,这主要涉及到 `keyProperty` 和 `...

    oracle_sequence.rar_oracle

    在Oracle中,序列(Sequence)是一个非常重要的概念,它主要用于生成唯一的整数序列,常常被用来作为主键值,特别是在插入新记录时自动增加。在本篇文章中,我们将深入探讨Oracle序列的创建、使用以及其在实际应用中...

    oracle多表连接技巧

    从表中会有指向主表中某一行的键值,这个键值被称为外键。主表中的键值则被称为主键。 #### 三、多表连接的基本形式 接下来,我们将详细介绍Oracle中几种常用的多表连接方式: ##### 1. 内连接(Inner Join) 内连接...

    如何在Windows上完全卸载Oracle数据库

    然后,使用注册表编辑器(regedit.exe)导航到以下关键位置,查找并删除与Oracle相关的键值: 1. HKEY_LOCAL_MACHINE\SOFTWARE\Oracle 2. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ 在这里,查找并...

    JAVA 的ID生成策略

    在这种方式下,数据库会自动将主键值增长,并将其返回给应用程序。 第二种方式是使用序列生成器生成。这种方式使用@GeneratedValue(strategy=GenerationType.SEQUENCE)注解,适用于Oracle等数据库管理系统。在这种...

Global site tag (gtag.js) - Google Analytics