JDBC 學習(10) 資料庫事務

2021-09-18 05:48:26 字數 1714 閱讀 3246

1. 在資料庫中

,所謂事務是指

一組邏輯操作單元,

使資料從一種狀態變換到另一種狀態

2. 為確保資料庫中資料的

一致性,

資料的操縱應當是離散的成組的邏輯單元

:當它全部完成時

,資料的一致性可以保持

,而當這個單元

中的一部分操作失敗

,整個事務應全部視為錯誤

,所有從起始點以後的操作應全部回退到開始狀態。

3 事務的操作

:先定義開始乙個事務

,然後對資料作修改操作

,這時如果

提交(commit),

這些修改就永久地儲存下來,

如果回退(rollback),

資料庫管理系統將放棄所作的所有修改而回到開始事務時的狀態。

4. 事務的acid(acid)屬性

–4.1

原子性(

atomicity

)原子性是指事務是乙個不可分割的工作單位,事務中的操作要麼都發生,要麼都不發生。 

–4.2 

一致性(

consistency

)事務必須使資料庫從乙個一致性狀態變換到另外乙個一致性狀態。

–4.3 

隔離性(

isolation

)事務的隔離性是指乙個事務的執行不能被其他事務干擾,即乙個事務內部的操作及使用的資料對併發的其他事務是隔離的,

併發執行的各個事務之間不能互相干擾。

–4.4 

永續性(

durability

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

有任何影響

5.jdbc

事物處理

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

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

當在乙個事務中執行多個操作時,要麼所有的事務都被提交

(commit)

,要麼整個事務回滾

(rollback)

到最初狀態

5.3 當乙個連線物件被建立時,預設情況下是自動提交事務:每次執行乙個

sql

語句時,如果執行成功,

就會向資料庫自動提交,而不能回滾

5.4 為了讓多個

sql

語句作為乙個事務執行:

–呼叫

connection

物件的

setautocommit

(false);

以取消自動提交事務

–在所有的

sql

語句都成功執行後,呼叫

commit();

方法提交事務

–在出現異常時,呼叫

rollback();

方法回滾事務

若此時

connection

沒有被關閉

, 則需要恢復其自動提交狀態

public void testt() throws exception  catch (exception e)  finally 

}

JDBC資料庫事務

事務 一組邏輯操作單元,使資料從一種狀態變換到另一種狀態。事務處理 事務操作 保證所有事務都作為乙個工作單元來執行,即使出現了故障,都不能改變這種執行方式。當在乙個事務中執行多個操作時,要麼所有的事務都被提交 commit 那麼這些修改就永久地儲存下來 要麼資料庫管理系統將放棄所作的所有修改,整個事...

JDBC 資料庫事務

事務 一組邏輯操作單元,使資料從一種狀態變換到另一種狀態。事務處理 也稱為事務操作,保證所有事務都作為乙個工作單元來執行,即使出現了故障,都不能改變這種執行方式。當在乙個事務中執行多個操作時,要麼所有的事務都被提交 commit 那麼這些修改就永久的儲存下來 要麼資料庫管理系統將丟棄所作的所有修改,...

JDBC 之 資料庫事務

原子性 atomicity 原子性是指事務是乙個不可分割的工作單位,事務中的操作要麼都發生,要麼都不發生。一致性 consistency 事務必須使資料庫從乙個一致性狀態變換到另外乙個一致性狀態。隔離性 isolation 事務的隔離性是指乙個事務的執行不能被其他事務干擾,即乙個事務內部的操作及使用...