spring 的事務隔離;Spring框架的事務管理的優點

文章目錄

    • 說一下 spring 的事務隔離?
    • Spring框架的事務管理有哪些優點?
    • 你更傾向用哪種事務管理類型?

聊一聊spring事務的隔離,事務的隔離對于一個系統來說也是非常重要的,直接上干貨!!!!

說一下 spring 的事務隔離?

spring 有五大隔離級別,默認值為 ISOLATION_DEFAULT(使用數據庫的設置),其他四個隔離級別和數據庫的隔離級別一致:

ISOLATION_DEFAULT:用底層數據庫的設置隔離級別,數據庫設置的是什么我就用什么;

ISOLATION_READ_UNCOMMITTED讀未提交,最低隔離級別、事務未提交前,就可被其他事務讀取(會出現幻讀、臟讀、不可重復讀);

ISOLATION_READ_COMMITTED讀已提交,一個事務提交后才能被其他事務讀取到(會造成幻讀、不可重復讀),SQL server 的默認級別;

ISOLATION_REPEATABLE_READ可重復讀,保證多次讀取同一個數據時,其值都和事務開始時候的內容是一致,禁止讀取到別的事務未提交的數據(會造成幻讀),MySQL 的默認級別;

ISOLATION_SERIALIZABLE序列化,代價最高最可靠的隔離級別,該隔離級別能防止臟讀、不可重復讀、幻讀。

臟讀 :表示一個事務能夠讀取另一個事務中還未提交的數據。比如,某個事務嘗試插入記錄 A,此時該事務還未提交,然后另一個事務嘗試讀取到了記錄 A。

不可重復讀 :是指在一個事務內,多次讀同一數據。

幻讀 :指同一個事務內多次查詢返回的結果集不一樣。比如同一個事務 A 第一次查詢時候有 n 條記錄,但是第二次同等條件下查詢卻有 n+1 條記錄,這就好像產生了幻覺。發生幻讀的原因也是另外一個事務新增或者刪除或者修改了第一個事務結果集里面的數據,同一個記錄的數據內容被修改了,所有數據行的記錄就變多或者變少了。

注意:事務的隔離級別和數據庫并發性是成反比的,隔離級別越高,并發性越低。

Spring框架的事務管理有哪些優點?

為不同的事務API 如 JTA,JDBC,Hibernate,JPA 和JDO,提供一個不變的編程模式。
為編程式事務管理提供了一套簡單的API而不是一些復雜的事務API
支持聲明式事務管理。
和Spring各種數據訪問抽象層很好得集成。

你更傾向用哪種事務管理類型?

大多數Spring框架的用戶選擇聲明式事務管理,因為它對應用代碼的影響最小,因此更符合一個無侵入的輕量級容器的思想。聲明式事務管理要優于編程式事務管理,雖然比編程式事務管理(這種方式允許你通過代碼控制事務)少了一點靈活性。唯一不足地方是,最細粒度只能作用到方法級別,無法做到像編程式事務那樣可以作用到代碼塊級別。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/166287.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/166287.shtml
英文地址,請注明出處:http://en.pswp.cn/news/166287.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Python與設計模式--享元模式

10-Python與設計模式–享元模式 一、網上咖啡選購平臺 假設有一個網上咖啡選購平臺,客戶可以在該平臺上下訂單訂購咖啡,平臺會根據用戶位置進行 線下配送。假設其咖啡對象構造如下: class Coffee:name price 0def __init__(self,name):se…

Go iota簡介

當聲明枚舉類型或定義一組相關常量時,Go語言中的iota關鍵字可以幫助我們簡化代碼并自動生成遞增的值。本文檔將詳細介紹iota的用法和行為。 iota關鍵字 iota是Go語言中的一個預定義標識符,它用于創建自增的無類型整數常量。iota的行為類似于一個計數器…

數據庫基礎入門 — SQL排序與分頁

我是南城余!阿里云開發者平臺專家博士證書獲得者! 歡迎關注我的博客!一同成長! 一名從事運維開發的worker,記錄分享學習。 專注于AI,運維開發,windows Linux 系統領域的分享! 本…

[深度理解] 重啟 Splunk Search Head Cluster

1: 背景: 關于釋放Splunk search head 的job 運行壓力:splunk search head cluster 要重啟的話,怎么辦? 答案是:splunk rolling-restart shcluster-members Initiate a rolling restart from the command line Invoke the splunk rolling-restart command from any me…

3款免費次數多且功能又強大的國產AI繪畫工具

hi,同學們,本期是我們第55 期 AI工具教程 最近兩個月,國內很多AI繪畫軟件被關停,國外絕大部分AI繪畫工具費用不低,因此 這兩天我 重新整理 國產 AI繪畫 工具 , 最終 篩選了 3款功能強大&#xf…

LeeCode前端算法基礎100題(3)- N皇后

一、問題詳情: 按照國際象棋的規則,皇后可以攻擊與之處在同一行或同一列或同一斜線上的棋子。 n 皇后問題 研究的是如何將 n 個皇后放置在 nn 的棋盤上,并且使皇后彼此之間不能相互攻擊。 給你一個整數 n ,返回所有不同的 n 皇后…

虛擬機系列:vmware和Oracle VM VirtualBox虛擬機的區別,簡述哪一個更適合我?以及相互轉換

一. VMware和Oracle VM VirtualBox虛擬機的區別主要體現在以下幾個方面: 首先兩種軟件的安裝使用教程如下: VMware ESXI 安裝使用教程 Oracle VM VirtualBox安裝使用教程 商業模式:VMware是一家商業公司,而Oracle VM VirtualBox是開源軟件; 功能:VMware擁有更多的功能和…

Leetcode200. 島嶼數量

Every day a Leetcode 題目來源:200. 島嶼數量 解法1:深度優先搜索 設目前指針指向一個島嶼中的某一點 (i, j),尋找包括此點的島嶼邊界。 從 (i, j) 向此點的上下左右 (i1,j),(i-1,j),(i,j1),(i,j-1) …

“圓柱-計算公式“技術支持網址

該軟件可以計算圓柱的底面圓周長、底面積、側面積和體積。 您在使用中有遇到任何問題都可以和我們聯系。我們會在第一時間回復您。 郵箱地址:elmo30zeongmail.com 謝謝!

如何將本地websocket發布至公網并實現遠程訪問?

本地websocket服務端暴露至公網訪問【cpolar內網穿透】 文章目錄 本地websocket服務端暴露至公網訪問【cpolar內網穿透】1. Java 服務端demo環境2. 在pom文件引入第三包封裝的netty框架maven坐標3. 創建服務端,以接口模式調用,方便外部調用4. 啟動服務,出現以下信息表示啟動成功…

VR云游:讓旅游產業插上數字化翅膀,打造地方名片

自多地入冬降溫以來,泡溫泉成了許多人周末度假的選擇,在氣溫持續走低的趨勢下,溫泉游也迎來了旺季;但是依舊有些地區溫度依舊溫暖,例如南京的梧桐美景也吸引了不少游客前去打卡,大家穿著漢服與金黃的樹葉合…

【AI考證筆記】NO.1人工智能的基礎概念

以下部分內容來自于百度智能云人才認證培訓講義,騰訊等也有人工智能類似的講義,限時免費,也就是不報考,也能系統學習,課程做的都是不錯的。有感興趣的朋友,可以去檢索學習。 本系列是學習筆記,…

6個常用的聚類評價指標

評估聚類結果的有效性,即聚類評估或驗證,對于聚類應用程序的成功至關重要。它可以確保聚類算法在數據中識別出有意義的聚類,還可以用來確定哪種聚類算法最適合特定的數據集和任務,并調優這些算法的超參數(例如k-means中的聚類數量…

C語言——從鍵盤輸人三角形的三個邊長 a、b、c,求出三角形的面積。

從鍵盤輸人三角形的三個邊長 a、b、c,求出三角形的面積。求三角形的面積用公式areasqrt(s*(s-a)*(s-b)*(s-c)),其中 s1/2(a十bc)。注:要求對輸人三角形的三個邊長做出有效性判斷。 #define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h> #include<math.h> int main…

從word復制內容到wangEditor富文本框的時候會把html標簽也復制過來,如果只想實現直接復制純文本,有什么好的實現方式

從word復制內容到wangEditor富文本框的時候會把html標簽也復制過來&#xff0c;如果只想實現直接復制純文本&#xff0c;有什么好的實現方式&#xff1f; 將 Word 中的內容復制到富文本編輯器時&#xff0c;常常會帶有大量的 HTML 標簽和樣式&#xff0c;這可能導致不必要的格式…

前置微小信號放大器在生物醫學中有哪些應用

前置微小信號放大器在生物醫學領域中具有廣泛的應用。生物醫學信號通常具有較小的振幅和較低的幅頻響應&#xff0c;因此需要借助放大器來增強信號以便進行準確的測量、監測和分析。以下是前置微小信號放大器在生物醫學中的主要應用。 心電圖&#xff08;ECG&#xff09;放大器…

Spring第一課,了解IDEA里面的文件,回顧Cookie和Session,獲取Session,Cookie,Header的方式

目錄 IDEA第一課&#xff08;熟悉里面內容&#xff09; 建立連接 -RequestMapping 路由映射 請求 1.傳遞單個參數?編輯 2.多個參數?編輯 3.傳遞數組 4.傳遞一個集合&#xff0c;但是這里我們傳遞的時候發生了500的錯誤 簡單介紹JSON 回顧Cookie和S…

js檢測dom變化的方法:MutationObserver

前言 檢測一個原生dom的變化,如一個div的顏色,大小,所在位置,內部元素的屬性是否變化,更深層dom樹上的變化等等。 都可以使用一個window上暴露出來的一個api:MutationObserver 語法 官方地址:MutationObserver.MutationObserver() - Web API 接口參考 | MDN 使用new Mutat…

【大數據】Docker部署HMS(Hive Metastore Service)并使用Trino訪問Minio

本文參考鏈接置頂&#xff1a; Presto使用Docker獨立運行Hive Standalone Metastore管理MinIO&#xff08;S3&#xff09;_hive minio_BigDataToAI的博客-CSDN博客 一. 背景 團隊要升級大數據架構&#xff0c;需要摒棄hadoop&#xff0c;底層使用Minio做存儲&#xff0c;應用…

干貨 | 攜程酒店基于血緣元數據的數據流程優化實踐

作者簡介 九號&#xff0c;攜程數據技術專家&#xff0c;關注數據倉庫架構、數據湖、流式計算、數據治理。 一、背景 元數據MetaData狹義的解釋是用來描述數據的數據&#xff0c;廣義的來看&#xff0c;除了業務邏輯直接讀寫處理的那些業務數據&#xff0c;所有其它用來維持整個…