import org.springframework.transaction.annotation.Transactional
默认隔离级别为使用数据库的隔离级别
默认传播行为REQURED(使用当前事务)
在service实现类方法上加@Transactional(rollbackFor = Exception.class)
rollback是产生该异常时会回滚 不加默认是RuntimeException级别

这样产生异常时 数据库就不会执行更改了

@EnableTransactionManagement
不加也行 TransactionAutoConfiguration类会默认加载,默认会带这个注解

失效场景:
调用本类中的方法,会导致被调用的方法的@Transactional注解失效,原因是没有使用代理。
解决办法:
1.新建一个实现类去调用原实现类中的方法
2.采用代理的方式调用

public class UserServiceimpl implements UserService , ApplcationContextAware

实现ApplcationContextAware接口

//实现生命周期方法,设置 IoC 容器
override
puublic roid setApplicationContext (ApplicationContext applicationContext)
throws BeansException{this.applicationContext = applicationContext ;
}
//IOC容器中取代理对象
UserService userService = applicationContext.getBean(UserService.class) ;

这样再调用本类的方法就可以了。

mybatis使用事务相关推荐

  1. spring boot配置mybatis和事务管理

    spring boot配置mybatis和事务管理 一.spring boot与mybatis的配置 1.首先,spring boot 配置mybatis需要的全部依赖如下: <!-- Spri ...

  2. Spring MVC+MyBatis中Spring没有接管Mybatis的事务

    今天把框架整合完毕,测试时发现,无论使不使用aop还是@Transactional,service层中的对应新增等方法都会保存成功.跟踪代码发现在org.mybatis.spring.SqlSessi ...

  3. mybatis plus 事务管理器_Mybatis中的事务

    Mybatis中的事务 数据库中的事务可以保证在连续执行的多条写操作(增删改)时,这多条操作要么成功,要么全部失败,以保证数据和逻辑的完整及严谨 在使用mybatis时,无需考虑事务如何创建,如何提交 ...

  4. 测试Mybatis时事务自动回滚,无法完成增删改

    场景 单独使用myBatis进行测试时,进行增删改查,进行查询时正常显示,但是进行插入.修改.删除时数据库中总是没法修改,查看控制台输出: 原因 默认情况下,事务不是自动提交 查看Mybatis的op ...

  5. SpringBoot(配置druid数据源、配置MyBatis、事务控制、druid 监控)

    SpringBoot 得到最终效果是一个简化到极致的 WEB 开发,但是只要牵扯到 WEB 开发,就绝对不可能缺少 数据层操作,所有的开发都一定秉持着 MVC 设计模式的原则,MVC 里面业务层不可少 ...

  6. myBatis之事务管理

    1. myBatis单独使用时,使用SqlSession来处理事务: Java代码   public class MyBatisTxTest { private static SqlSessionFa ...

  7. mybatis plus 事务管理器_SpringBoot第七篇:springboot开启声明式事务

    springboot开启事务很简单,只需要一个注解@Transactional 就可以了.因为在springboot中已经默认对jpa.jdbc.mybatis开启了事事务,引入它们依赖的时候,事物就 ...

  8. mybatis plus 事务管理器_学习MyBatis 框架

    1. 框架是什么? a 框架就就是写好的功能架构 一些重复的代码的深度的封装 b 框架也是一个半成品 调用同时 也需要告诉框架一些信息 c一般以配置文件方式告知框架 多数会使用Xml作为框架的配置文件 ...

  9. spring+mybatis 一个事务中两次查询结果不一样的问题

    最近搞了一波事情,把一个接口给重构了一番,感觉还不错,同时也遇到了一些问题,这个就是其中一个. 因为重构,我在这个接口上面加了一个事务,然后就发现之前的代码跑出来的结果就不一样了,两次一模一样的查询, ...

  10. mybatis plus 事务管理器_最全MyBatis核心配置文件总结,可以作为工具先收藏了

    作者:双子孤狼 来源:blog.csdn.net/zwx900102/article/details/108492263 前言 今天这咱主要介绍一下MyBatis的全局配置文件的使用 configur ...

最新文章

  1. Node.js v0.10版本发布
  2. 华硕路由器 linux上不了网,华硕ASUS路由器连不上网怎么办?
  3. 在运行时交换出Spring Bean配置
  4. linux共享文件系统sy,Linux使用Samba实现文件共享
  5. C#中的WebSocket服务器
  6. 安卓 camera 调用流程_音视频开发之旅(四)Camera视频采集
  7. Frequentist 观点和 Bayesian 观点
  8. PphpStorm常用操作整理
  9. 斐讯音箱控制扫地机器人_轻松解决家务难题 斐讯大能扫地机器人X3
  10. 如何一键查询物流信息并筛选出未签收单号
  11. 玩转小米盒子1:选购指南及应用推荐
  12. java图片自动盖章,一种自动盖章装置的制作方法
  13. 机器学习之二分类模型评价指标
  14. 张一鸣:我的大学四年收获及工作感悟
  15. 少年派的奇幻漂流-解读与感悟
  16. HTTPS 自签名证书 实现边下边播 方案
  17. 计算机连接不上蓝牙鼠标,蓝牙鼠标怎么连接到笔记本电脑?
  18. Maven+Nexus私服搭建
  19. Portapack应用开发教程 自定义开机图片
  20. 使用STM32f103点亮led灯——库函数版本

热门文章

  1. 微信小程序-显示自己发布的内容
  2. 7-23 成绩录入时的及格与不及格人数统计 (10 分)
  3. 从“学而时习之”想起的
  4. vue组件通信案例练习(包含:父子组件通信及平行组件通信)
  5. 加入购物车 如果已有商品 数量++
  6. [零代码工具推荐] 快速建站神器 Jeecg/Boot
  7. 小程序中父组件向子组件传值
  8. ModelMatrix、ModelViewMatrix、ProjectionMatrix、NormalMatrix模型矩阵、模型视图矩阵、投影矩阵、正规矩阵详解
  9. 锋利的戴德金“刀”并没有耗尽直线上所有的几何点
  10. python反爬虫策略_突破反爬虫策略