spring事務管理

一、事務的簡介:

基本概念:

所謂的事務是用戶定義的一個數據庫操作序列,這些操作要麼全做,要麼全不做,是一個不可分割的工作單位。事務與程序是兩個不同的概念,一般來說一個程序中包含多個事務。
Sql中定義事務一般有三條:

  1. begin Transaction
  2. commit:提交,即提交事務的所有操作。
  3. rollback:回滾,即事務運行過程中遇到了故障,事務不能繼續執行,系統將之前的操作全部撤銷,回滾到事務開始時的狀態。

ACID

  1. Atomicity–原子性:事務中的操作要麼都做,要麼都不做
  2. Consistency–一致性:事務的運行必須從一個狀態轉變到另一個狀態。與原子性密切相關,
  3. Isolation–隔離性:一個事務的運行不能被其他事務干擾
  4. Durability–持久性:也稱永久性,指一個事務一旦提交,它對數據庫中的改變就應該是永久性的。

二、spring中事務的管理

(一)Spring 支持兩種類型的事務管理:

編程式事務管理 :在編程的幫助下有管理事務,比較靈活,但卻很難維護。
聲明式事務管理 :從業務代碼中分離事務管理,使用註釋或 XML 配置來管理事務。
聲明式事務管理比編程式事務管理更可取,儘管它不如編程式事務管理靈活,但它允許你通過代碼控制事務。但作爲一種橫切關注點,聲明式事務管理可以使用 AOP 方法進行模塊化。Spring 支持使用 Spring AOP 框架的聲明式事務管理。

(二)編程式事務管理

  1. Spring提供事務模板類:org.springframework.transaction.support.TrancationTemplate
  2. 事務管理器:org.springframework.jdbcdatasource.DatasourceTrancationManager
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章