sunny123456

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

https://zhidao.baidu.com/question/1928811909233574387.html

spring+mybatis 多数据库事务管理:一个方法里面能同时对两个数据库的数据进行操作

比如:一个方法内:在A数据库里的user表插入一条记录,在B数据库里的user表插入一条记录,要么都插入成功,要么都插入失败,只要有一方失败,就回滚事务。(本人已在网上查了很多资料,请给出具体解决方案,感激不尽!)
展开全部
  1. 定义两个DAO分别使用不同的数据源,ADAO连接A数据库,BDAO连接B数据库

  2. 定义一个Service类,加上Spring注解@Transactional,表示进行事务管理。

    将ADAO和BDAO注入到Service类里面。

    在service类里面创建一个方法,方法里调用ADAO的方法插入数据到A数据库的user表,然后调用BDAO的方法插入数据到B数据库的user表

更多追问追答
追问
这个行不通吧,你在Service层开启了事务之后切换数据库就无效了
追答
可以的,漏说了一点,事务要配置成jta分布式事务。
用spring的org.springframework.transaction.jta.JtaTransactionManager来支持
posted on 2021-04-07 21:20  sunny123456  阅读(337)  评论(0编辑  收藏  举报