数据库多连接,事务应该如何处理?

zfbing7640 2006-04-12 08:51:07
连接多个数据库.
...全文
221 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
水晶平衡木 2006-04-12
  • 打赏
  • 举报
回复
如果使用J2EE的话,可以使用容器管理事务或者用UserTransaction,将多个连接注册到一个事务里面,统一进行提交,J2EE容器会实现两阶段提交,这个就不用你自己处理了。

楼主也可以自己实现两阶段提交,比如con1、con2,
分别都做完了数据库操作后才一起提交:con1.commit();con2.commit();
在处理过程中如果遇到异常情况就都撤销:con1.rollback();con2.rollback();
这样就可以了。

以上做法建议在非同一个数据库时使用,而在同一个数据库的情况下则要考虑是否真的需要使用多个连接。业务逻辑其实应该是与数据库连接无关的,但却又要用到数据库连接,建议在业务逻辑方法中添加一个传入数据库连接的参数,如:getInfo(String ID, Connection con)这样的,那么这个业务逻辑方法就可以做到与具体连接无关了,这样的业务方法可以相互之间相互调用或者组合使用而又能够在同一个连接上使用同一个事务了,^_^

以上是我的个人意见,希望能对你有用,^_^

50,530

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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