数据层的事务回滚!!

chinawomen 2009-06-26 04:56:06
我要做的是数据的插入要求回滚,不要写在SQL里的数据回滚,用Connection做的事务回滚。
表orderinfo 字段orderID(标识列,主键) 表 userinfo 字段userid,orderid(外键)对应表orderinfo
现在要插入两条数据,一条插入orderinfo,一条插入userinfo;
问题:
插入第一条数据后,插入第二条数据的时候需要刚插入的第一条数据的orderid。(我认为用@@IDENTITY不好,不准确他是得到最近的一条记录)

该怎么做了。最好能写个例子。
...全文
22 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xcj0722 2009-06-27
  • 打赏
  • 举报
回复
頂﹗﹗
haobaofufob 2009-06-26
  • 打赏
  • 举报
回复
ding
  • 打赏
  • 举报
回复
使用 DatabaseMetaData#supportsGetGeneratedKeys() 方法测试一下,你的 JDBC 驱动是否支持主键返回。

如果支持的话,使用 Connection#prepareStatement(String sql, Statement.RETURN_GENERATED_KEYS) 获得 PreparedStatement 对象。

执行 SQL 完成后,使用 PreparedStatement#getGeneratedKeys() 方法获得 ResultSet 对象,数据库自动产生的主键就在这个结果集中。
sd5816690 2009-06-26
  • 打赏
  • 举报
回复
用 java.sql.Connection 里的 commit() 和 rollback() 方法

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧