展开
拓展 关闭
订阅号推广码
GitHub
视频
公告栏 关闭

spring5入门(十八):事务管理,传播行为、隔离级别

事务传播行为

  • 事务方法
即是对数据库进行增、删、改操作的方法
  • 传播属性

  • REQUIRED行为

如果add方法有事务,update方法没有事务,add方法调用update方法时,update方法使用add方法的事务
如果add方法没有事务,update方法有事务,add方法调用update方法时,add方法创建新的事务
  • REQUIRED_NEW行为
add方法调用update方法时,不管add方法是否有事务,都会创建新的事务
  • 配置传播行为
@Transactional(propagation = Propagation.REQUIRED)

隔离级别

  • 简介
事务有特性成为隔离性,多事务操作之间不会产生影响
  • 脏读
一个未提交事务读取到另一个未提交事务的数据
  • 不可重复读
一个未提交事务读取到另一提交事务修改数据
  • 虚(幻)读
一个未提交事务读取到另一提交事务添加数据
  • 设置事务隔离级别解决读问题

  • 设置隔离级别

@Transactional(isolation = Isolation.REPEATABLE_READ)

timeout:超时时间

事务需要在一定时间内进行提交,如果不提交进行回滚
默认值是 -1 ,设置时间以秒单位进行计算

@Transactional(timeout = -1)

readOnly:是否只读

读:查询操作,写:添加修改删除操作
readOnly 默认值 false,表示可以查询,可以添加修改删除操作
设置 readOnly 值是 true,设置成 true 之后,只能查询

@Transactional(readOnly = false)

rollbackFor:回滚

设置出现哪些异常进行事务回滚

noRollbackFor:不回滚

设置出现哪些异常不进行事务回滚
posted @ 2022-05-21 13:45  DogLeftover  阅读(20)  评论(0编辑  收藏  举报