spring事务管理(1)

来源:互联网 发布:少年班 知乎 编辑:程序博客网 时间:2024/06/05 04:56

  • 第二章 概念介绍
    • 什么是事务
    • 事务的特性
  • 第三章 事务的API介绍
    • 3-1 接口介绍
    • 3-2 PlatformTransactionManager接口介绍
    • 3-3 TransactionDefinition定义事务隔离级别
    • 3-4 TransactionDefinition定义事务传播行为
    • 3-5 TransactionStatus接口介绍

来自慕课网视频《spring事务管理》

第二章 概念介绍

1. 什么是事务?

事务指的是逻辑上的一组操作,这组操作要么全部成功,要么全部失败。

2. 事务的特性

事务的4大特性:原子性、一致性、隔离性、持久性- **原子性**:指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。- **一致性**:指事务前后数据的完整性必须保持一致。- **隔离性**:指多个用户并发访问数据库时,一个用户的事务不能被其他用户的事务所干扰,多个并发事务之间数据要互相隔离。- **持久性**:是指一个事务一旦被提交,它对数据库中数据的改变就是永久性的,即使数据库发生故障也不应该对其有任何影响。

第三章 事务的API介绍

3-1 接口介绍

  1. Spring事务管理高层抽象主要包括3个接口
    • PlatformTransactionManager事务管理器
    • TransactionDefinition事务定义信息(隔离、传播、超时、只读)
    • TransactionStatus事务具体运行状态
      这里写图片描述

3-2 PlatformTransactionManager接口介绍

  1. PlatTransactionManager接口下的实现类
    这里写图片描述

    这里写图片描述

3-3 TransactionDefinition定义事务隔离级别

  1. TransactionDefinition中的常量
    这里写图片描述

  2. TransactionDefinition中的方法
    这里写图片描述

  3. 脏读、不可重复读、幻读
    如果不考虑事务的隔离性,会引发安全问题—-脏读、不可重复读、幻读。

    • 脏读:一个事务读取了另一个事务改写但还未提交的数据,如果这些数据被回滚,则读到的数据是无效的。
    • 不可重复读:在同一事务中,多次读取同一数据返回的结果不一致(读到其它事务更新的数据)。
    • 幻读:一个事务读取了几行记录后,另一个事务插入一些记录,幻读就发生了。再后来的查询中,第一个事务就会发现有些原来没有的记录。
  4. 事务的隔离级别(4种)
    这里写图片描述

3-4 TransactionDefinition定义事务传播行为

  1. 事务的传播行为
    事务的传播行为用来解决业务层方法之间的相互调用产生的事务应该如何进行传递的问题。
    这里写图片描述

  2. 事务传播行为的常量
    这里写图片描述

3-5 TransactionStatus接口介绍

  1. TransactionStatus接口
    查看事务的各种状态
  2. TransactionStatus中的方法
    这里写图片描述
0 0
原创粉丝点击