简单介绍事务

数据库-事务
1. 事务是什么?
是一组要么同时成功,要么同时失败的操作

2. 事务四个基本特征

acid

(Atomicity)原子性、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)

3. 事务的隔离级别
读未提交 --- 一个事务可以读到另一个事务没有提交的数据, 最低
读已提交 --- 一个事务可以读到另一个事务提交的数据,行锁,最常用的级别, 不能防止幻读

可重复读 --- 可以防止幻读, 在读已提交的基础上加上表锁, 效率低
顺序读 --- 一切按顺序来,没有并行的事务, 效率最低

4. 在数据库中的操作
开始事务

提交事务/回滚事务

 

转载于:https://www.cnblogs.com/pressur/p/11191400.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring的事务管理模块为我们提供了很多的事务传播行为,用来控制在不同的方法调用之间事务的传播方式,以及如何处理嵌套事务。下面我来详细介绍一下Spring的事务传播行为。 Spring 的事务传播行为分为以下 7 种: - PROPAGATION_REQUIRED (默认值):如果当前没有事务,就新建一个事务;如果已经存在一个事务中,加入该事务;该选项是最常用的选项。 - PROPAGATION_SUPPORTS:支持当前事务,如果当前没有事务,就以非事务方式执行。 - PROPAGATION_MANDATORY:使用当前的事务,如果当前没有事务,就抛出异常。 - PROPAGATION_REQUIRES_NEW:新建事务,如果当前存在事务,把当前事务挂起。 - PROPAGATION_NOT_SUPPORTED:以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。 - PROPAGATION_NEVER:以非事务方式执行,如果当前存在事务,则抛出异常。 - PROPAGATION_NESTED:如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则执行与PROPAGATION_REQUIRED类似的操作。 除了PROPAGATION_REQUIRED和PROPAGATION_REQUIRES_NEW之外,其它的传播行为都是相对简单的,下面我重点介绍一下PROPAGATION_REQUIRED和PROPAGATION_REQUIRES_NEW的区别。 PROPAGATION_REQUIRED:当前方法调用需要事务,如果当前没有事务,就新建一个事务。如果存在一个事务中,加入该事务,成为一个整体。这是最常用的传播行为。 PROPAGATION_REQUIRES_NEW:当前方法必须开启新的事务,并在自己的事务内运行。如果当前存在事务,则挂起该事务。使用PROPAGATION_REQUIRES_NEW时,将会创建一个新的事务,如果新的事务执行成功,则提交该事务;如果新的事务执行失败,则回滚该事务。在PROPAGATION_REQUIRES_NEW的事务中,可以使用savepoint来进行部分回滚。 总之,Spring的事务传播行为为我们提供了很多的灵活性,可以根据实际情况来选择不同的传播行为,以达到最佳的事务管理效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值