事務:是指邏輯上的一組操作,這組操作要麼全部成功,要麼全部失敗。
事務的特性:
spring支援兩種方式事務管理:
1.程式設計式事務管理
2.使用xml配置宣告式事務
需要為每個進行事務管理的類,配置乙個transactionproxyfactorybean進行增強.
一旦配置好之後,類上不需要新增任何東西
配置簡單,需要在業務層上新增乙個@transactional的註解.
spring為不同的持久化框架提供不同的platform transactionmanager介面實現
transactiondefinition事務定義資訊:定義隔離資訊
髒讀:乙個事務讀取了另乙個事務改寫但還未提交的資料,如果這些資料被回滾,則讀到的資料是無效的
不可重複讀:在同乙個事務中,多次讀取同一資料返回的結果有所不同
幻讀:乙個事務讀取了幾行記錄後,另乙個事務插入一些記錄,幻讀就發生了。再後來的查詢中,第乙個事務就會發現有些 原來沒有的記錄
事務的隔離級別:
mysql預設採用repeatable _read隔離級別
oracle預設採用read_committed隔離級
transactiondefinition事務定義資訊:定義事務的傳播行為
重點記標紅的,標紅的是比較常用的。
用來記錄事務的狀態 ,該介面定義了一組方法,用來獲取或判斷事務的相應狀態資訊。
平台事務管理器(platformtransactionmanager)會根據transactiondefinition中定義的事務資訊(包括隔離級別、傳播行為)來進行事務的管理,在管理的過程中事務可能產生了儲存點或事務是新的事務等情況,那麼這些資訊都會記錄在transactionstatus的物件中。
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.一致性 一致性和原子性...