jdbc是spring提供的專門操作關係型資料庫的模板,由於運算元據庫是有事務控制的,所以需要匯入jdbc和tx的pom包;
xml配置
常用方法:
jdbctemplate.update (sql,params)
宣告式事務:通過xml或者註解的方式,宣告配置;
程式設計式事務:需要手動編寫事務**控制事務;
platformtransactionmanager介面
spring提供的事務管理器介面,提供了我們常用的操作事務的方法;一般由子類實現了;
datasourcetransactionmanager:jdbc和mybatis作為dao層時選擇的子類實現;
hibernatetransactionmanager:hibernate作為dao層時選擇的子類實現;
transactiondefinition 是事務的定義資訊物件
1. 事務隔離級別
設定隔離級別,可以解決事務併發產生的問題,如髒讀、不可重複讀和虛讀。
isolation_default
isolation_read_uncommitted
isolation_read_committed
isolation_repeatable_read
isolation_serializable
2. 事務傳播行為
required:如果當前沒有事務,就新建乙個事務,如果已經存在乙個事務中,加入到這個事務中。一般的
選擇(預設值)
supports:支援當前事務,如果當前沒有事務,就以非事務方式執行(沒有事務)transactionstatus 介面提供的是事務具體的執行狀態
需要手動配置平台事務管理器和tx事務註解
@service("accountservice")
@transactional
public class accountserviceimpl implements accountservice
}
宣告式事務
宣告式事務編輯以方法為單位,進行事物控制 丟擲異常,事物回滾。最小的執行單位為方法。決定執行成敗是通過是否丟擲異常來判斷的,丟擲異常即執行失敗 宣告式事務 declarative transaction management 是spring提供的對程式事務管理的方式之一。spring的宣告式事務顧名...
防衛式宣告
標準格式 在標頭檔案中寫 ifndef define endif 通過閱讀 geekband c 學習筆記 防衛式宣告的背後 發現編譯器對頭檔案進行了以下預處理 編譯器還會做很多其他事情,但是從第四條可以看出,會將標頭檔案中寫的 直接複製進檔案。那麼可以想象,如果有多份標頭檔案均不進行防衛式宣告,均...
宣告式事務
開啟事務,就需要在spring的配置檔案中配置事務管理器 id datasourcetransactionmanager class org.springframework.jdbc.datasource.datasourcetransactionmanager name datasource re...