網(wǎng)站首頁(yè) 編程語(yǔ)言 正文
SpringBoot 事務(wù)管理Transactional 數(shù)據(jù)回滾 數(shù)據(jù)一致性
作者:生產(chǎn)隊(duì)的驢. 更新時(shí)間: 2024-02-16 編程語(yǔ)言SpringBoot 事務(wù)的屬性rollbackFor 與 propagetion
介紹
SpringBoot當(dāng)中的事物他保證了一致性,要么全部一起成功(提交),要么一起失敗,失敗(回滾)后數(shù)據(jù)會(huì)回到當(dāng)初的樣子,是一組操作的集合。
事物類型
- 開(kāi)啟事物
- 提交事物
- 回滾事物
案例
@Override
public void insert(Test t) {
classesMapper.delete(1);//刪除班級(jí)
int n =1/0;//這里會(huì)發(fā)送異常
testMapper.delete(1);//根據(jù)班級(jí)刪除學(xué)生
}
這是一個(gè)刪除數(shù)據(jù)的方法,先刪除班級(jí),然后根據(jù)班級(jí)ID刪除班級(jí)下的學(xué)生,但是走到第二行“ int n =1/0;”這里就會(huì)拋出異常,而且刪除學(xué)生的方法并沒(méi)有被執(zhí)行,這樣就導(dǎo)致了數(shù)據(jù)不一致。這種情況就可以使用事物來(lái)操作,發(fā)生了異常就回滾到之前的數(shù)據(jù),保證了數(shù)據(jù)的完整性。要么一起成功,要么一起失敗。
開(kāi)啟事物前置條件
表引擎必須為,InnoDB
開(kāi)啟事物
@Transactional 在方法上添加 ,這樣下來(lái)要么都刪除成功,如果發(fā)送異常兩個(gè)表的數(shù)據(jù)都不變化(回滾)。
開(kāi)啟事物 -> 發(fā)送錯(cuò)誤-》提交事物-》回滾事物
@Override
@Transactional //開(kāi)啟事物
public void insert() {
classesMapper.delete(1);//刪除班級(jí)
int n =1/0;//這里會(huì)發(fā)送異常
testMapper.delete(1);//根據(jù)班級(jí)刪除學(xué)生
}
不同位置上添加
- 方法上添加:當(dāng)前這個(gè)方法開(kāi)啟事物管理
- 類上:類中所有的方法開(kāi)啟事物管理
- 接口上:接口所有實(shí)現(xiàn)類的方法交給事務(wù)管理
原文鏈接:https://blog.csdn.net/dpc5201314/article/details/136061064
- 上一篇:沒(méi)有了
- 下一篇:沒(méi)有了
相關(guān)推薦
- 2023-01-07 MPAndroidChart自定義圖表Chart的Attribute及Render繪制邏輯_Andr
- 2022-04-26 Jquery+bootstrap實(shí)現(xiàn)表格行置頂置底上移下移操作詳解_jquery
- 2022-09-02 Pytorch-LSTM輸入輸出參數(shù)方式_python
- 2022-12-07 C語(yǔ)言內(nèi)存分布與heap空間分別詳細(xì)講解_C 語(yǔ)言
- 2022-06-14 Golang監(jiān)聽(tīng)日志文件并發(fā)送到kafka中_Golang
- 2022-05-11 Python學(xué)習(xí)之私有函數(shù),私有變量及封裝詳解_python
- 2022-03-14 Springboot讀取外部配置文件,項(xiàng)目部署時(shí)配置讀取不到問(wèn)題
- 2022-09-20 Python?pip超詳細(xì)教程之pip的安裝與使用_python
- 欄目分類
-
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過(guò)濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡(jiǎn)單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支