02-事务的概念

1、事务的概念

  • 事务就是一组独立不可分割的工作单元,事务中的操作要不全部执行,要不就全都不执行
  • 最直观的一个事务实例,如下所示
    • 当前有两张表,分别是账户表(account_table)和商品库存表(inventory_table)
    • 如果现在要完成张三的下单业务,要扣减购买商品的100件库存,同时还要扣除张三的账户余额
    • 我们编写代码的话,对这两张表进行操作,如果出现用户账户余额不足(即SQL执行失败),那我们就需要考虑是否还要扣减商品库存?这就是事务
    • 我们在这一业务中要保证要不这两张表同时改变,要不就都不改变

2、Spring事务的实现方式和实现原理

2.1、Spring事务的实现原理

  • Spring事务的本质其实就是数据库对事务的支持,没有数据库的事务支持,Spring是无法提供事务功能的。
  • 即会调用数据库设置手动事务set autocommit=0,之后通过commit提交和rollback回滚,数据库底层是通过binlog或者redo log实现的

2.2、Spring事务的实现方式

1)编程式

  • 编程式(编程控制事务),beginTransaction()、commit()、rollback()等事务管理相关的方法
  • 但是编程式会造成代码重复荣誉

2)声明式

  • 可以利用Spring自带的@Transaction注解或者AOP配置
posted @ 2022-08-02 13:53  OnlyOnYourself-Lzw  阅读(31)  评论(0编辑  收藏  举报