java事务不生效场景_【java开发事务篇】之一分钟搞懂事务、使用方式和特定场景...

一、事务是什么?

事务是一组原子操作单元,从数据库角度说,就是一组SQL指令,要么全部执行成功,若因为某个原因其中一条指令执行有错误,则撤销先前执行过的所有指令。更简答的说就是:要么全部执行成功,要么撤销不执行。

一、事务所具有的四种特性

原子性: 个人理解,就是事务执行不可分割,要么全部完成,要么全部拉倒不干。

一致性: 关于一致性这个概念我们来举个例子说明吧,假设张三给李四转了100元,那么需要先从张三那边扣除100,然后李四那边增加100,这个转账的过程对于其他事务而言是无法看到的,这种状态始终都在保持一致,这个过程我们称之为一致性。

隔离性: 并发访问数据库时,一个用户的事务不被其他事务所干扰,各并发事务之间数据是独立的;

持久性: 一个事务被提交之后。它对数据库中数据的改变是持久的,即使数据库发生故障也不应该对其有任何影响。

三、事务ACID的隔离级别和传播属性

七个事务传播属性

1. Propagation.REQUIRED:支持当前事务,如果当前没有事务,则新建一个事务,默认使用这种,也是最常见的.

2. Propagation.SUPPORTS:支持当前事务,如果没有事务,就以非事务的方式执行.

3. Propagation.MANDATORY:支持当前事务,如果没有事务,就抛出异常.

4. Propagation.REQUIRES_NEW:新建事务,如果当前存在事务,就把当前事务挂起.

5. Propagation.NOT_SUPPORTED:以非事务的方式执行操作,如果当前存在事务,就把当前事务挂起.</

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值