1、在service类上面添加注解@Transactional,在这个注解里面可以配置事务的相关参数
2、propagation:事务传播行为
①多事务方法之间进行调用,这个过程中事务是如何进行管理的
前两个传播属性用的最多
3、isolation:事务隔离级别
①事务里面有一个特性,称为隔离性,即多事务操作之间不会产生影响。不考虑隔离性会产生很多问题
②有三个读的问题:脏读、不可重复读、幻读
③脏读:一个未提交的事务读取到了另外一个未提交的事务的数据
④不可重复读:一个未提交的事务读取到了另一个提交事务中的修改的数据
⑤幻读:一个未提交的事务读取到了另一个提交事务中的添加的数据
⑥解决:通过设置事务隔离级别,解决读问题
mysql默认为可重复度这个级别
4、timeout:超时时间
①事务需要在一定时间内进行提交,如果不提交,就进行回滚
②默认值为-1(不会超时),设置的时间以秒为单位
5、readOnly:是否只读
①读:查询操作。 写:增删改操作
②readOnly默认值为false,表示可读可写
③设置readOnly值为true时,就只能查询
6、rollbackFor:回滚
①设置出现哪些异常时,进行事务回滚
7、noRollBackFor:不回滚
①设置出现哪些异常时,不进行事务回滚