记录一次多数据源配置失效的情况

编程入门 行业动态 更新时间:2024-10-23 15:30:10

记录一次多数据源配置失效的<a href=https://www.elefans.com/category/jswz/34/1770846.html style=情况"/>

记录一次多数据源配置失效的情况

说明:在一些复杂的业务情景,比如我们需要在一个订单审核通过后,在将数据库状态修改的同时,将订单与订单详细这两条数据写入到另一个数据库中。我们就可以通过在配置文件中,配置多数据源,然后通过在Mapper的方法上加@DS注解,来实现这样的业务。

spring:datasource:......dynamic:datasource:# 主要的数据库master:url: ......username: ......password: ......driver-class-name: ......# 2号数据库extends:url: ......username: ......password: ......driver-class-name: ......

使用@DS注解切换数据源;

@Mapper
public interface OrderMapper extends BaseMapper<Order> {@DS("extends")void saveOrder(Order order);
}

问题:使用了注解,配置中也配置了对应的数据源,但是实际操作并没有生效,报数据库表不存在的错误;

	@Override@Transactional(rollbackFor = Exception.class)public Result<?> orderApprove(Integer id, Integer approveStatus) {......}

解决:因为在Service实现类对应的方法上面加了事务注解(@Transactional),事务在跨数据源的情况下是不会生效的,去掉之后就能正常切换数据源了。

更多推荐

记录一次多数据源配置失效的情况

本文发布于:2023-11-15 04:27:52,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1593643.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:情况

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!