Spring 宣告式事務aop

2022-06-12 15:03:10 字數 686 閱讀 9952

我們故意在乙個方法裡先寫乙個插入,然後在寫乙個刪除語句。其中刪除語句的sql表達錯誤。

雖然會報錯 告訴你刪除的sql語句錯誤,但是不會告訴你 插入操作成功了。

也就是說 雖然程式因為錯誤沒有執行完,但是有一部分操作還是成功了。

明顯不滿足我們的acid原則(原子性、一致性、隔離性、永續性)

首先放上mybatis-spring的事務官方文件

不推薦的原因是因為他是侵入式的,需要改變程式**才能捕獲異常。

使用try-catch進行捕獲。

1.spring的事務傳播機制

2.spring的事務隔離級別(巧記 髒不換)

第乙個是資料庫預設

第二個會出現:髒讀、不可重複讀、幻讀

第三個會出現:不可重複讀、幻讀

第四個會出現:幻讀

第五個全部都不會出現

(相比於資料庫只多了乙個 資料庫預設 級別)

3.宣告事務

Spring的AOP中的宣告式事務

一 xml配置方法 二 註解配置方法 最簡單 最常用 xml文件中寫入 在service層中的待配置方法上加上註解 transactional 表示該方法被設定為乙個事務,唯讀預設為false,事務傳遞方式預設為required 有事務就加,無事務自己建立,用於增刪改 可設定service類上加上 ...

Spring宣告式事務

net.sf.hibernate.dialect.oracle9dialect false true net.sf.hibernate.transaction.jdbctransactionfactory 1025 用heibernate來管理事務 當用spring和heibernate一起完成da...

spring宣告式事務

1.什麼是事務 事務是程式中一系列嚴密的操作,所有操作執行必須成功完成,否則在每個操作所做的更改將會被撤銷,這也是事務的原子性 要麼成功,要麼失敗 2.事務的特性 事務特性分為四個 原子性 atomicity 一致性 consistency 隔離性 isolation 持續性 durability ...