spring+mybatis 多数据库事务管理:一个方法里面能同时对两个数据库的数据进行操作
比如:一个方法内:在A数据库里的user表插入一条记录,在B数据库里的user表插入一条记录,要么都插入成功,要么都插入失败,只要有一方失败,就回滚事务。(本人已在网上查...
比如:一个方法内:在A数据库里的user表插入一条记录,在B数据库里的user表插入一条记录,要么都插入成功,要么都插入失败,只要有一方失败,就回滚事务。(本人已在网上查了很多资料,请给出具体解决方案,感激不尽!)
展开
2个回答
展开全部
定义两个DAO分别使用不同的数据源,ADAO连接A数据库,BDAO连接B数据库
定义一个Service类,加上Spring注解@Transactional,表示进行事务管理。
将ADAO和BDAO注入到Service类里面。
在service类里面创建一个方法,方法里调用ADAO的方法插入数据到A数据库的user表,然后调用BDAO的方法插入数据到B数据库的user表
更多追问追答
追问
这个行不通吧,你在Service层开启了事务之后切换数据库就无效了
追答
可以的,漏说了一点,事务要配置成jta分布式事务。
用spring的org.springframework.transaction.jta.JtaTransactionManager来支持
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询