1. 程式人生 > >JDBC中 事務 相關筆記

JDBC中 事務 相關筆記

事務(Transaction,簡寫為tx):

在資料庫中,所謂事務是指一組邏輯操作單元,使資料從一種狀態變換到另一種狀態。

為確保資料庫中資料的一致性,資料的操縱應當是離散的成組的邏輯單元:      

當每個邏輯操作單元全部完成時,資料的一致性可以保持,      

而當這個單元中的一部分操作失敗,整個事務應全部視為錯誤,所有從起始點以後的操作應全部回退到開始狀態。

事務的操作:

先定義開始一個事務,然後對資料作修改操作,這時如果提交(commit),這些修改就永久地儲存下來,如果回退(rollback),資料庫管理系統將放棄您所作的所有修改而回到開始事務時的狀態。

事務:指構成單個邏輯工作單元的操作集合

事務處理:保證所有事務都作為一個工作單元來執行,即使出現了故障,都不能改變這種執行方式。

當在一個事務中執行多個操作時,要麼所有的事務都被提交(commit),要麼整個事務回滾(rollback)到最初狀態

簡單的來說:事務就是將多個操作看成一個不可分割的整體;整體中要麼全部成功,要麼都失敗;

 

事務的ACID屬性:

1. 原子性(Atomicity):原子在化學中,是最小單位,不可以再分割了. 原子性是指事務是一個不可分割的工作單位,事務中的操作要麼都發生,要麼都不發生。

2. 一致性(Consistency):包裝資料的完整性. 事務必須使資料庫從一個一致性狀態變換到另外一個一致性狀態。(資料不被破壞)

3. 隔離性(Isolation):Hibernate再講 事務的隔離性是指一個事務的執行不能被其他事務干擾,即一個事務內部的操作及使用的資料對併發的其他事務是隔離的,併發執行的各個事務之間不能互相干擾。

4. 永續性(Durability): 永續性是指一個事務一旦被提交,它對資料庫中資料的改變就是永久性的,接下來的其他操作和資料庫故障不應該對其有任何

--------------------------------------------  

事務的操作:

事務成功: 提交事務:commit,如果事務不提交,在資料庫中資料永遠都不會改變;

事務失敗: 出現異常的時候,

事務失敗.事務回滾:rollback(取消之前所有的操作,回到事務最初的狀態),釋放鎖資源.

java中操作事務的模板

操作事務的模板:

try{    

//取消事務的自動提交機制,設定為手動提交.

connection物件.setAutoCommit(false);    

  操作1  

  操作2  

  異常    

  操作3  

  ....    手動提交事務                      

 connection物件.commit();

 }catch(Exception e){  

 //處理異常    回滾事務            connection物件.rollback();

}