当前位置: 首页 > news >正文

SpringBoot 事务管理Transactional 数据回滚 数据一致性

介绍

SpringBoot当中的事物他保证了一致性,要么全部一起成功(提交),要么一起失败,失败(回滚)后数据会回到当初的样子,是一组操作的集合。

事物类型

  • 开启事物
  • 提交事物
  • 回滚事物

案例

   @Overridepublic void insert(Test t) {classesMapper.delete(1);//删除班级int n =1/0;//这里会发送异常testMapper.delete(1);//根据班级删除学生}

这是一个删除数据的方法,先删除班级,然后根据班级ID删除班级下的学生,但是走到第二行“ int n =1/0;”这里就会抛出异常,而且删除学生的方法并没有被执行,这样就导致了数据不一致。这种情况就可以使用事物来操作,发生了异常就回滚到之前的数据,保证了数据的完整性。要么一起成功,要么一起失败。

开启事物前置条件

表引擎必须为,InnoDB
前置条件

开启事物

@Transactional 在方法上添加 ,这样下来要么都删除成功,如果发送异常两个表的数据都不变化(回滚)。

开启事物 -> 发送错误-》提交事物-》回滚事物

 @Override@Transactional //开启事物public void insert()  {classesMapper.delete(1);//删除班级int n =1/0;//这里会发送异常testMapper.delete(1);//根据班级删除学生}

不同位置上添加

  • 方法上添加:当前这个方法开启事物管理
  • 类上:类中所有的方法开启事物管理
  • 接口上:接口所有实现类的方法交给事务管理

相关文章:

SpringBoot 事务管理Transactional 数据回滚 数据一致性

介绍 SpringBoot当中的事物他保证了一致性,要么全部一起成功(提交),要么一起失败,失败(回滚)后数据会回到当初的样子,是一组操作的集合。 事物类型 开启事物提交事物回滚事物 案…...

vue使用pdf.js实现在线查看pdf文件

需求&#xff1a;有一个列表页&#xff0c;用户点击查看&#xff0c;弹层展示后台接口返回的pdf内容(不是文件、地址之类的&#xff0c;乱码的pdf铭文(二进制文件流)) 1、pdf.js安装 npm install --save vue-pdf2、正文代码 <template><div><el-table :data&q…...

java---查找算法(二分查找,插值查找,斐波那契[黄金分割查找] )-----详解 (ᕑᗢᓫ∗)˒

目录 一. 二分查找&#xff08;递归&#xff09;&#xff1a; 代码详解&#xff1a; 运行结果&#xff1a; 二分查找优化&#xff1a; 优化代码&#xff1a; 运行结果&#xff08;返回对应查找数字的下标集合&#xff09;&#xff1a; ​编辑 二分查找&#xff08;非递归…...

鸿蒙应用/元服务开发-窗口(Stage模型)设置悬浮窗

一、设置悬浮窗说明 悬浮窗可以在已有的任务基础上&#xff0c;创建一个始终在前台显示的窗口。即使创建悬浮窗的任务退至后台&#xff0c;悬浮窗仍然可以在前台显示。通常悬浮窗位于所有应用窗口之上&#xff1b;开发者可以创建悬浮窗&#xff0c;并对悬浮窗进行属性设置等操…...

springboot集成easypoi导出多sheet页

pom文件 <dependency><groupId>cn.afterturn</groupId><artifactId>easypoi-base</artifactId><version>4.1.0</version> </dependency> 导出模板&#xff1a; 后端代码示例&#xff1a; /*** 导出加油卡进便利店大额审批列…...

自己动手打包element UI官方手册文档教程

经常用element ui朋友开发的比较郁闷&#xff0c;官方文档网基本上都是打不开的&#xff0c; 官方&#xff1a;https://element.eleme.io/ 一直打不开&#xff0c;分析下是里面用的cdn链接ssl证书无效。 就想着自己搭建一个element UI文档 自己搭建的&#xff1a; Element文档网…...

《计算机网络简易速速上手小册》第5章:无线网络和移动通信(2024 最新版)

5.1 WLAN的工作原理 - 揭秘无线局域网络的魔法 5.1.1 基础知识 无线局域网络&#xff08;WLAN&#xff09;允许设备通过无线方式连接到一个局部区域网络&#xff0c;主要基于IEEE 802.11标准&#xff0c;俗称Wi-Fi。WLAN的核心是无线路由器&#xff0c;它不仅充当着网络中各设…...

2024PMP考试新考纲-近年PMP真题练一练和很详细解析(3)

今天华研荟继续为您分享和解析PMP真题&#xff0c;一方面让大家感受实际的PMP考试和出题形式&#xff0c;另一方面是通过较详细的解题思路和知识讲解帮助大家最后一个多月有效备考&#xff0c;一次性3A通过2024年PMP考试。 2024年PMP考试新考纲-近年真题随机练一练 (注&#x…...

java SpringBoot2.7整合Elasticsearch(ES)7 进行文档增删查改

首先 我们在 ES中加一个 books 索引 且带有IK分词器的索引 首先 pom.xml导入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-elasticsearch</artifactId> </dependency>applicatio…...

动态内存管理(2)

文章目录 4. 几个经典的笔试题4.1 题目14.2 题目24.3 题目34.4 题目4 5. C/C程序的内存开辟6. 动态通讯录7. 柔性数组7.1 柔性数组的特点7.2 柔性数组的使用7.3 柔性数组的优势 4. 几个经典的笔试题 4.1 题目1 #include <stdio.h> #include <stdlib.h> #include …...

使用 git 上传文件时,运行 命令 git pull origin 时未成功,出现报错信息

项目场景&#xff1a; 背景&#xff1a; 使用 git 上传文件时&#xff0c;运行 命令 git pull origin 时未成功&#xff0c;出现报错信息 问题描述 问题&#xff1a; $ git pull origin print --allow-unrelated-histories error: Pulling is not possible because you hav…...

Linux文件编译

目录 一、GCC编译 1.直接编译 2.分步编译 预处理&#xff1a; 编译&#xff1a; 汇编&#xff1a; 链接&#xff1a; 3.多文件编译 4.G 二、Make 1.概述 2.使用步骤 3.makefile创建规则 3.1一个基本规则 3.2两个常用函数 4.示例文件 三、GDB 示例&#xff1a;…...

homeword_day1

第一章 命名空间 一&#xff0e;选择题 1、编写C程序一般需经过的几个步骤依次是&#xff08; B &#xff09; A. 编辑、调试、编译、连接 B. 编辑、编译、连接、运行 C. 编译、调试、编辑、连接 D. 编译、编辑、连接、运行 2、所谓数据封装就是将一组数据和与这组数据…...

ChatGPT论文指南|ChatGPT论文写作过程中6个润色与查重提示词

论文完成初稿之后&#xff0c;一般情况下&#xff0c;宝子们还需要找专家给我们提出评审意见。找专家评审其实并不容易&#xff0c;即使对老师来说&#xff0c;找人评审论文也是一件苦活。我们这个时候可以通过文字提示让 ChatGPT充当我们的评审专家&#xff0c;为论文提出问题…...

论文阅读:Learning Lens Blur Fields

这篇文章是对镜头模糊场进行表征学习的研究&#xff0c;镜头的模糊场也就是镜头的 PSF 分布&#xff0c;镜头的 PSF 与物距&#xff0c;焦距&#xff0c;光学系统本身的像差都有关系&#xff0c;实际的 PSF 分布是非常复杂而且数量也很多&#xff0c;这篇文章提出用一个神经网络…...

SpringBoot整合Knife4j接口文档生成工具

一个好的项目&#xff0c;接口文档是非常重要的&#xff0c;除了能帮助前端和后端开发人员更快地协作完成开发任务&#xff0c;接口文档还能用来生成资源权限&#xff0c;对权限访问控制的实现有很大的帮助。 这篇文章介绍一下企业中常用的接口文档工具Knife4j&#xff08;基于…...

爬虫(三)

1.JS逆向实战破解X-Bogus值 X-Bogus:以DFS开头&#xff0c;总长28位 答案是X-Bogus,因为会把负载里面所有的值打包生成X-Boogus 1.1 找X-Bogus加密位置&#xff08;请求堆栈&#xff09; 1.1.1 绝招加高级断点&#xff08;日志断点&#xff09; 日志断点看有没有X-B值 日志…...

03 动力云客项目之登录功能后端实现

1 准备工作 1.1 创建项目 使用Spring initializr初始化项目 老师讲的是3.2.0, 但小版本之间问题应该不大. 1.2 项目结构 根据阿里巴巴Java开发手册确定项目结构 1.3 分层领域模型 【参考】分层领域模型规约&#xff1a; • DO&#xff08;Data Object&#xff09;&am…...

时光峰峦文物璀璨,预防性保护筑安全

在璀璨的历史长河中&#xff0c;珍贵文物如同时间的印记&#xff0c;承载着过往的辉煌。《人文山水时光峰峦——多彩贵州历史文化展》便是这样一场文化的盛宴&#xff0c;汇聚了众多首次露面的宝藏。然而&#xff0c;文物的保存对环境要求极为苛刻&#xff0c;温湿度波动都可能…...

Redis面试题43

人工智能在未来会有哪些可能的发展趋势&#xff1f; 答&#xff1a;人工智能在未来将继续迎来许多可能的发展趋势&#xff0c;以下是一些可能的方向&#xff1a; 更强大的算法和模型&#xff1a;人工智能算法和模型将不断改进和优化&#xff0c;为更复杂的数据和问题提供更强大…...

ARM GICD_CTLR寄存器详解与中断控制实践

1. GICD_CTLR寄存器概述GICD_CTLR是ARM通用中断控制器(GIC)中Distributor模块的核心控制寄存器&#xff0c;作为中断系统的"总开关"&#xff0c;它直接决定了整个中断控制器的行为模式。在GICv3/v4架构中&#xff0c;这个32位寄存器主要实现三大核心功能&#xff1a;…...

MiGPT小爱音箱AI升级终极指南:5步快速接入ChatGPT和豆包大模型

MiGPT小爱音箱AI升级终极指南&#xff1a;5步快速接入ChatGPT和豆包大模型 【免费下载链接】mi-gpt &#x1f3e0; 将小爱音箱接入 ChatGPT 和豆包&#xff0c;改造成你的专属语音助手。 项目地址: https://gitcode.com/GitHub_Trending/mi/mi-gpt 你是否曾希望家中的小…...

Equalizer APO终极指南:如何免费打造专业级音频系统

Equalizer APO终极指南&#xff1a;如何免费打造专业级音频系统 【免费下载链接】equalizerapo Equalizer APO mirror 项目地址: https://gitcode.com/gh_mirrors/eq/equalizerapo 你是否曾想过&#xff0c;只需一款免费软件就能让普通音响系统释放出专业级的音质表现&a…...

Gemini浏览器插件深度评测:3大隐藏功能+4个高危误用陷阱,Chrome用户必须立即自查

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Gemini浏览器插件深度评测&#xff1a;3大隐藏功能4个高危误用陷阱&#xff0c;Chrome用户必须立即自查 Gemini 浏览器插件&#xff08;v2.4.1&#xff09;虽以“AI网页摘要”为公开定位&#xff0c;但…...

测试环境搭建指南:从零开始构建完善的测试体系

测试环境搭建指南&#xff1a;从零开始构建完善的测试体系 前言 各位前端小伙伴&#xff0c;不知道你们有没有这样的经历&#xff1a;在自己电脑上测试好好的&#xff0c;一到CI环境就各种失败。 我曾经因为测试环境和生产环境不一致&#xff0c;导致线上出现了一个严重bug。后…...

2026最新版|音频格式转换超详细全攻略:8种方法和避坑指南

你是否有过这样的经历——从录音笔导出的WAV文件体积太大无法发送&#xff0c;下载的FLAC无损音乐在车上无法播放&#xff0c;或者视频剪辑时发现音频格式不被软件识别&#xff1f;这些场景都会用到音频格式转换。本文基于2026年最新可用工具&#xff0c;把8种转换方法极度细化…...

P1238 走迷宫【洛谷算法习题】

P1238 走迷宫 网页链接 P1238 走迷宫 题目描述 有一个 mnm\times nmn 格的迷宫(表示有 mmm 行、nnn 列)&#xff0c;其中有可走的也有不可走的&#xff0c;如果用 111 表示可以走&#xff0c;000 表示不可以走&#xff0c;文件读入这 mnm\times nmn 个数据和起始点、结束点…...

别再死记硬背公式了!用‘井字棋’和‘抢30’游戏带你直观理解巴什博弈(Bash Game)

用童年游戏破解数学奥秘&#xff1a;从"抢30"到巴什博弈的思维跃迁 记得小时候和伙伴们玩"抢30"游戏吗&#xff1f;两人轮流报数&#xff0c;每次可以说1到3个连续数字&#xff0c;谁先喊出"30"谁就获胜。这个看似简单的游戏背后&#xff0c;隐藏…...

Python 爬虫进阶技巧:本地 Cookies 导入实现免登录爬取

前言 在 Python 爬虫实际开发场景中,大量资讯平台、社交站点、电商后台、个人中心类页面均设置了登录权限校验,未携带有效登录身份标识的请求会直接跳转登录页、返回权限不足提示或拒绝数据响应。常规账号密码模拟登录存在诸多弊端,接口加密、验证码拦截、账号风控封禁、参…...

AI编程技能自学习:构建Claude与Cursor的智能协同开发环境

1. 项目概述&#xff1a;当Claude遇上Cursor&#xff0c;一场关于AI编程技能的自我进化最近在GitHub上看到一个挺有意思的项目&#xff0c;叫Self-Learning-Claude-Skill。虽然项目描述和正文都还是空的&#xff0c;但光看这个标题和关键词——claude-code、cursor、skills——…...