spring的事務管理

2022-04-09 12:34:28 字數 1006 閱讀 2829

什麼是事務?

事務就是對資料庫的一組邏輯操作,要麼全部執行成功,要麼全部失敗。簡言之就是多條sql語句要麼都執行成功,要麼都不能執行(只有乙個失敗都不行)。

事務管理的目的何在

當然是為了保證資料庫事務的四大特性(acid),原子性、一致性、隔離性和永續性。

原子性:每乙個事務都是不可分割的整體。 一致性:在事務執行成功後,能保證資料的完整性,即能保證不出現資料出現偏差的情況發生 隔離性:不同事務在對資料庫進行併發操作的時候不相互干擾 永續性:一旦事務提交成功後,對資料庫的操作都必須生效。

資料併發讀會產生的問題

1、髒讀——當前事務讀取了其他事務還未提交的資料,可能會出現另乙個事務被回滾,而當前事務讀取的資料不正確。例子:銀行個人賬戶轉賬過程中被回滾造成另一邊讀到了轉賬後的資料

2、不可重複讀——當前事務之前讀取了乙個資料,而在後續過程中又讀取到了另一事務已經提交的的更改資料,這將會導致前後兩次讀到的資料不一致。例子:個人銀行賬戶中,當前事務檢視自己餘額1000元,併發中另一事務取了100,導致自己的餘額突然變成900,前後不一致。

3、幻想讀——當前事務讀取了另一事務的新增加的資料。例子:當前事務統計到了乙個總資料,而另一事務在併發中新增加了資料,導致了剛才讀到的**計失效變成了另乙個總的資料。

spring事務隔離級別

1、serializable:可序列化,避免髒讀、不可重複讀和幻想讀。

2、repeatable read:可重複讀,避免了髒讀和不可重複讀。

3、read committed:可提交讀,避免了髒讀

4、read uncommitted:未提交讀,保證了讀取過程中不會讀取到非法資料。

spring的事務傳播行為:

為了解決業務層方法間相互呼叫的問題,大致分為三類:第一類,將兩個業務層的資料庫操作都放在乙個事務中進行(required);第二類(未完待續)

spring中三種宣告式事務管理配置

基於**類的實現

基於xml配置的實現

基於註解的實現

三種配置方式的總結:

Spring事務管理

spring是ssh中的管理員,負責管理其它框架,協調各個部分的工作。今天一起學習一下spring的事務管理。spring的事務管理分為宣告式跟程式設計式。宣告式就是在spring的配置檔案中進行相關配置 程式設計式就是用註解的方式寫到 裡。下面先說宣告式 spring配置檔案中關於事務配置總是由三...

spring事務管理

一 xml配置事務 二 註解的方式配置事務 bean id txmanaager class org.springframework.orm.hibernate3.hibernatetransactionmanager property name sessionfactory ref session...

spring 事務管理

和資料庫打交道的碼農都知道事務,事務有4大特徵,分別是原子性,一致性,隔離性,永續性。而spring 對事物提供了良好的支援,和api,通過簡單的配置,則可以減低程式設計師重複的操作。1.原子性 原子性指的是乙個事務內的所有操作要麼全部應用到資料庫,要麼取消對資料庫的操作。2.一致性 一致性和原子性...