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

事务管理

  • 介绍&操作

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

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

      • start transaction; / begin;

      • commit;(全部成功)

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

    • 应用场景:

      • 银行转账

      • 下单扣减库存

  • Spring事务管理

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

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

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

  • 事务进阶-rollbackFor

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

    • 事务传播行为:

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

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

  • 四大特性(ACID)

    • 原子性(Atomicity)

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

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

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

      • 事务一旦提交或回滚,它对数据库中数据的改变就是永久的
相关推荐
九章-10 分钟前
2026国产向量数据库选型新趋势:融合架构如何支撑AI与信创双轮驱动
数据库·向量数据库
Loo国昌17 分钟前
【LangChain1.0】第八阶段:文档处理工程(LangChain篇)
人工智能·后端·算法·语言模型·架构·langchain
vx_bisheyuange22 分钟前
基于SpringBoot的海鲜市场系统
java·spring boot·后端·毕业设计
三不原则40 分钟前
故障案例:数据库慢查询导致交易延迟,AIOps 如何自动定位?
运维·数据库
Elieal1 小时前
MybatisPlus难懂点
数据库·mybatis
一只专注api接口开发的技术猿1 小时前
微服务架构下集成淘宝商品 API 的实践与思考
java·大数据·开发语言·数据库·微服务·架构
AC赳赳老秦1 小时前
Dify工作流+DeepSeek:运维自动化闭环(数据采集→报告生成)
android·大数据·运维·数据库·人工智能·golang·deepseek
明洞日记1 小时前
【软考每日一练009】计算机系统性能评价:基准程序分类与 TPC 实战案例详解
大数据·数据库
李慕婉学姐1 小时前
【开题答辩过程】以《基于Spring Boot和大数据的医院挂号系统的设计与实现》为例,不知道这个选题怎么做的,不知道这个选题怎么开题答辩的可以进来看看
大数据·spring boot·后端
Hoxy.R1 小时前
海量数据库安装部署初体验
服务器·网络·数据库