1、在service类上面添加注解@Transactional,在这个注解里面可以配置事务的相关参数
    image.png

    2、propagation:事务传播行为
    ①多事务方法之间进行调用,这个过程中事务是如何进行管理的
    image.png
    前两个传播属性用的最多
    image.png
    image.png

    3、isolation:事务隔离级别
    ①事务里面有一个特性,称为隔离性,即多事务操作之间不会产生影响。不考虑隔离性会产生很多问题
    ②有三个读的问题:脏读、不可重复读、幻读
    ③脏读:一个未提交的事务读取到了另外一个未提交的事务的数据
    image.png
    ④不可重复读:一个未提交的事务读取到了另一个提交事务中的修改的数据
    image.png
    ⑤幻读:一个未提交的事务读取到了另一个提交事务中的添加的数据

    ⑥解决:通过设置事务隔离级别,解决读问题
    image.png
    mysql默认为可重复度这个级别
    image.png

    4、timeout:超时时间
    ①事务需要在一定时间内进行提交,如果不提交,就进行回滚
    ②默认值为-1(不会超时),设置的时间以秒为单位
    image.png
    5、readOnly:是否只读
    ①读:查询操作。 写:增删改操作
    ②readOnly默认值为false,表示可读可写
    ③设置readOnly值为true时,就只能查询
    image.png
    6、rollbackFor:回滚
    ①设置出现哪些异常时,进行事务回滚

    7、noRollBackFor:不回滚
    ①设置出现哪些异常时,不进行事务回滚