跳到导航
BEA Dev2Dev Oracle and BEA
首页 资源中心 dev2dev学堂 在线技术论坛 User Group CodeShare
dev2dev 首页 > 资源中心 > 专家Blog > 专家Blog文章
用JDBCCONTROL检索生成的键

时间:2006-11-27
作者:Chris Hogue
浏览次数:
本文关键字:BEA WorkshopWebLogic PlatformJDBCCONTROL检索
文章工具
推荐给朋友 推荐给朋友
打印文章 打印文章

  在用自动生成的键(例如主键)在表中进行插入时,常常希望马上获得这个键并在代码中使用。从JDK 1.4开始,Statement类有一个getGeneratedKeys()方法(以及用来指定列的相关方法)。但是如果要使用JdbcControl,那么会怎么样?在这种情况下,无法访问Statement类。

  可以将这种功能集成到JdbcControl中。

  需要做的只是将@JdbcControl.SQL的getGeneratedKeys属性设置为true。然后,使方法的返回类型与表中列的类型匹配,这样JdbcControl就会自动地返回生成的值。

  我们来看一个例子:

@JdbcControl.SQL(
  statement="INSERT INTO customer (name) VALUES ({name})", 
  getGeneratedKeys=true)
public long insertCustomer(String name);

  如果没有设置getGeneratedKeys属性,在正常情况下这会返回受影响的行数。但是,如果设置了这个属性,而且customer表中有一个自动生成的列,那么就会返回生成的键。

  如果希望进一步控制这个行为,还可以将返回类型设置为ResultSet并对返回的结果集进行遍历,从而手工地获取生成的键。在这种情况下,由您负责关闭结果集。

  (感谢Chad Schoettger提供了必要的提示)

  原文出处:http://dev2dev.bea.com/blog/hogue/archive/2006/10/retrieving_gene.html

dot dot dot

dot
  作者其它文章
您对本文的评价
您对这篇文章的看法如何?
太棒了!5分 不错啊 4分 一般般 3分 有待提高 2分 不好 1分

   
相关产品