https://zhidao.baidu.com/question/1928811909233574387.html
spring+mybatis 多数据库事务管理:一个方法里面能同时对两个数据库的数据进行操作
比如:一个方法内:在A数据库里的user表插入一条记录,在B数据库里的user表插入一条记录,要么都插入成功,要么都插入失败,只要有一方失败,就回滚事务。(本人已在网上查了很多资料,请给出具体解决方案,感激不尽!)
展开全部
定义两个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来支持
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)