@Transactional 事务未生效!急急急!!!

1.现象

发生异常,未回顾,第一张表数据已入库;

2.背景

两条插入语句,
保存两张表数据,第一张表正常插入语句,第二条sql故意写错,看事务能否生效;
两条sql

 insert into tg_guide_info(guide_id, shop_code, guide_name, service_id, creator, modifier)
   values (#{guideId},#{shopCode},#{guideName},#{serviceId},#{operator},#{operator})

-- 注意有个ifnull是写错的。
 insert into  tg_guide_item_info (guide_id, item_id, item_name, brand_name, item_model, bar_code,creator, modifier)
    values <foreach collection="list" separator="," item="item">
    (#{guideId},#{item.itemId},#{item.itemName},ifnull(#{item.brandName},""),ifull(#{item.itemModel},""),ifnull(#{item.barCode},""),#{user},#{user})
  </foreach>

执行单元测试后,报错,
在这里插入图片描述
查看数据库:
发现第一张表已经插入数据,
第二张表由于报错没有生成!

我屮艸芔茻,这不应该啊,同一个事务报错应该回顾啊。

3.解决

由于我的工程里面多个数据库连接,立马看下有没有指定事务管理器,
一看service上的数据管理器就是操作的数据库呢。
在这里插入图片描述

这可咋整!

我又看了下方法上又加了事务,好像没啥问题
在这里插入图片描述

1.关键就这这里,请记住一句话
方法的@Transactional会覆盖类上面声明的事务

4.总结

1.多数据源需要检查事务管理器
2.方法的@Transactional会覆盖类上面声明的事务

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论

打赏作者

采坑先锋

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值