1.在service类上面添加注解@Transactional,在这个注解里面可以配置事务相关参数
2.propagation:事务传播行为
(1)多事务方法直接进行调用,这个过程中的事务是如何进行管理的
事务方法:对数据库表数据发生变化的操作
默认状态如上图
3.isolation:事务隔离级别
(1)事务有特性为隔离性,多事务之间的操作不会互相影响,如果不考虑隔离会出现很多问题
(2)有三个读的问题:脏读、不可重复读,虚(幻)读
脏读:一个未提交事务读取另一个未提交(改变后被读取,后有进行回滚的情况视为此未提交)的事务
不可重复读:一个未提交的事务读取到另一提交事务修改的数据,也可以此为一个现象
虚(幻)读:一个未提交的事务读取到另一提交事务添加的数据
(3)通过设置事务隔离级别,解决读取问题
默认状态 如上图
4.timeout:超时时间
(1)事务需要在一定的时间内提交,不然会回滚数据
(2)默认值是-1,设置时间以秒为单位来计算
5.readOnly:是否只读
(1)读:表示查询 写:表示增删改
(2)readOnly默认值为false,表示可以进行增删改查操作
(3)设置readOnly值为true,表示只能进行查询操作
6.rollbackFor:回滚
设置出现哪些异常可以进行事务回滚
7.norollbackFor:不回滚
设置出现哪些异常可以不事务回滚