【黑马JavaWeb+AI知识梳理】Web后端开发02-事务管理、文件上传

事务管理

  • 介绍&操作

    • 事务是一组操作的集合 ,它是一个不可分割的工作单位。事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败。

    • 事务控制主要三步操作:开启事务 、提交 事务/回滚事务

      • start transaction; / begin;

      • commit;(全部成功)

      • rollback;(只要有一项失败)

    • 应用场景:

      • 银行转账

      • 下单扣减库存

  • Spring事务管理

    • @Transactional //事务管理 - 默认出现运行时异常,才会回滚,即RuntimeException

    • 将当前方法交给spring进行事务管理,方法执行前,开启事务;成功执行完毕,提交事务;出现异常,回滚事务

    • 位置:业务(service)层的方法(推荐在会对数据库操作多次的方法)上、类上、接口上

  • 事务进阶-rollbackFor

    • 用于控制出现何种异常类型,回滚事务
  • 事务进阶-propagation

    • 事务传播行为:

      • 指的就是当一个事务方法被另一个事务方法调用时,这个事务方法应该如何进行事务控制
    • Required:大部分场景

    • Requires_New:希望两个方法在独立的事务中运行,互不影响

  • 四大特性(ACID)

    • 原子性(Atomicity)

      • 不可分割的最小单元,要么全部成功,要么全部失败
    • 一致性(Consistency)

      • 事务完成时,必须使所有的数据都保持一致状态
    • 持久性(Isolation)

      • 数据库系统提供的隔离机制,保证事务在不受 外部并发操作影响的独立环境下运行
    • 隔离性(Durability)

      • 事务一旦提交或回滚,它对数据库中数据的改变就是永久的
相关推荐
独泪了无痕5 小时前
Spring Data Redis 快速上手
spring boot·redis·后端
IT19956 小时前
Fail2Ban 防护 MySQL 实战|登录失败 3 次,IP 封禁 24 小时
数据库·mysql
夕除6 小时前
redis--IO 多路复用(select + poll)
数据库·sql
m0_639906949 小时前
Linux 操作系统入门:目录结构、服务排查常用命令、Shell 脚本基础
linux·运维·后端
lzhdim10 小时前
100条常用SQL语句
数据库·sql·mysql·mybatis
天河归来10 小时前
从原始消息到业务数据:三层数据架构的设计与实践
数据库·数据仓库·架构
数据库小学妹10 小时前
金融数据库成本怎么算?五笔钱加一张TCO表
数据库·金融行业·数据库选型·国产化替代·tco·金融数据库
holly就是我10 小时前
AI 编程助手为什么跑偏?用开源 ccglass 看清 Prompt、工具调用和 Token 消耗
人工智能·后端
鸿蒙开发10 小时前
共享 Schema 与 SchemaFactory
前端·后端·harmonyos
用户7884773163410 小时前
小程序后端三选一:云开发、.NET WebAPI、Node,我按客户现状分了三种答案
后端