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

JDBC insert后获取插入的主键值的方法

    博客分类:
  • JSE
阅读更多
上次朋友问,后来关注了一下,具体方法:
java.sql
接口 Statement
 boolean execute(String sql, int autoGeneratedKeys)
          执行给定的 SQL 语句(该语句可能返回多个结果),并通知驱动程序所有自动生成的键都应该可用于获取。
static int RETURN_GENERATED_KEYS
          该常量指示生成的键应该可用于获取。
ResultSet getGeneratedKeys()
          获取由于执行此 Statement 对象而创建的所有自动生成的键。
java.sql
接口 ResultSet
 boolean next()
          将光标从当前位置向前移一行。
 int getInt(int columnIndex)
          以 Java 编程语言中 int 的形式获取此 ResultSet 对象的当前行中指定列的值。
 
不过好象必须是JDBC3.0以上才支持!

<script type="text/javascript"></script>

分享到:
评论
1 楼 392807718 2011-10-13  
值得学习

相关推荐

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

    在Java编程中,JDBC(Java Database Connectivity)...正确地使用预编译的`PreparedStatement`可以提高代码的可读性和安全性,同时,通过设置`RETURN_GENERATED_KEYS`属性,我们可以轻松地获取新插入记录的自增主键值。

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

    在对应的Java代码中,当你调用`sqlSession.insert("insertUser", user)`方法插入一条记录后,`user.getId()`就会返回数据库自动生成的主键值。这是因为MyBatis通过`useGeneratedKeys`和`keyProperty`属性与数据库...

    java获取新insert数据自增id的实现方法

    另外,我们还可以使用另一种更加便捷的方法:在JDBC追加记录后,使用API获得新追加记录的主键值。这个实现使用了Statement的getGeneratedKeys方法,当Statement追加了一条记录后,可以直接调用getGeneratedKeys方法...

    解决Hibernate JPA中insert插入数据后自动执行select last_insert_id()

    在使用Hibernate JPA进行数据操作时,我们可能会遇到一个特定的情况,即在执行完插入(insert)操作后,系统会自动执行一个`select last_insert_id()`的查询来获取刚刚生成的自增主键值。这个问题在Spring MVC集成...

    spring封装jdbc查询

    这段代码会自动构建INSERT语句,并返回新生成的主键值。 3. **NamedParameterJdbcTemplate**:对于参数较多或者参数名有特定含义的SQL,NamedParameterJdbcTemplate更加适用。它允许我们使用命名参数,如`:...

    Struts2 JDBC 增删改查

    1. **增加(Insert)**:使用JDBC的PreparedStatement对象,可以创建预编译的SQL插入语句,将用户输入的数据安全地插入到数据库中。记得在事务管理中正确提交或回滚操作。 2. **删除(Delete)**:通过编写删除特定...

    Spring Jdbc的jar包

    它可以根据数据库表结构自动构建INSERT语句,并且支持返回新生成的主键值,这对于那些具有自动增长主键的表非常有用。 此外,Spring JDBC的`JdbcOperations`接口扩展了`JdbcTemplate`,提供了一组通用的JDBC操作,...

    Java获取最后插入MySQL记录的自增ID值的3种方法

    在创建PreparedStatement对象时,通过传递`Statement.RETURN_GENERATED_KEYS`参数,我们可以指示JDBC驱动程序在执行插入操作后返回生成的键值。以下是一个示例: ```java String sql = "INSERT INTO users ...

    Spring JDBC应用实例讲解

    通过JdbcTemplate的query()、update()等方法,我们可以方便地执行查询、插入、更新和删除操作。 **5. 结果集处理** 执行查询后,Spring JDBC会自动将结果集转换为Java对象。我们可以使用RowMapper接口或...

    j2ee07:jdbc01:Properties对象、四大参数、批量删除、基本的增删改查

    - **Create(创建)**:使用PreparedStatement的executeUpdate()方法执行INSERT语句,插入新记录。 - **Read(读取)**:使用Statement或PreparedStatement的executeQuery()方法执行SELECT语句,获取ResultSet,从中...

    JDBC连接数据库经验总结

    通过JDBC,开发者可以在Java应用程序中执行SQL语句,进行数据查询、插入、更新和删除等操作。JDBC提供了一种标准化的方式来访问多种类型的数据库,使得代码的可移植性得以提高。 在实际开发中,使用JDBC连接数据库...

    jdbc基础和参考

    hibernate不在自动生成主键值,需要你在插入时自己指明 3.hilo:高低值算法,由数据库表提供高值,程序提供低值 value = hi*(max_lo+1)+lo 4.sequences Cat: cid name color weight age ------------------------...

    在Spring中用select last_insert_id()时遇到问题

    `KeyHolder`对象接收到生成的主键,然后可以通过`getKey()`方法获取。 此外,Spring还支持使用`SequenceGenerator`、`TableGenerator`等策略,这些策略可以用于生成主键,而无需依赖于特定数据库的自增功能。例如,...

    总结一天学会MyBatis框架所有知识.docx

    对于主键值的获取,如果表支持主键自增,MyBatis可以通过`getGeneratedKeys()`方法获取新插入数据的ID。如果表不支持自增,可以利用数据库的特性,如MySQL的`max()`函数,获取最新插入的主键值。 查询操作中,`...

    数据库系统应用与开发--实验四.doc

    - **Step3:无字段值指定的处理**:如果不想修改表结构,可以通过查询表中最大ID,然后在插入时设置为主键值加1。例如,使用`SELECT MAX(id) FROM table`获取最大ID。 4. **实验结果与分析**: - 在Step1中,代码...

    让CoolSQL支持Oracle Sequence的GeneratedKey,懂的入

    然而,原生的CoolSQL可能并不直接支持Oracle Sequence作为GeneratedKey(即自动插入主键值)。为了实现这一功能,我们需要对CoolSQL进行一定的扩展或者配置。 1. **扩展CoolSQL源码**:如果你对源码有修改权限,...

    hadoop 二次排序 插入数据库

    你可以创建一个Hive表,然后通过Hive的`INSERT OVERWRITE`语句将MapReduce的结果导入到表中。 2. **HBase**: HBase是一个分布式的、面向列的NoSQL数据库,适合实时读取大数据。你可以使用HBase的Java API或Hadoop...

    Mybatis主配置文件、附配置文件、实体类、sql生成工具

    2. **insert**:用于定义插入语句,可以获取自增主键值。 3. **update**:用于定义更新语句。 4. **delete**:用于定义删除语句。 **三、实体类(Entity Class)** 实体类是Java对象,代表数据库中的表,用于封装...

    mybatis数据操作(增删改查+批量操作)

    插入操作完成后,MyBatis会自动处理主键的生成策略,如果数据库支持自增主键,MyBatis会自动获取生成的主键值。 2. **删除操作(Delete)**:同样,删除操作也需要定义一个Mapper接口方法,并在XML文件中写好对应的...

Global site tag (gtag.js) - Google Analytics