jdbc程式中為了讓多個 sql 語句作為乙個事務執行:
若此時 connection 沒有被關閉,還可能被重複使用,則需要恢復其自動提交狀態 setautocommit(true)。尤其是在使用資料庫連線池技術時,執行close()方法前,建議恢復自動提交狀態。【案例:使用者aa向使用者bb轉賬100】
public
void
testjdbctransaction()
catch
(exception e)
catch
(sqlexception e1)
}finally
catch
(sqlexception e)
//7.關閉連線
jdbcutils.
closeresource
(conn, null, null);}
}
其中,對資料庫操作的方法為:
//使用事務以後的通用的增刪改操作(version 2.0)
public
void
update
(connection conn ,string sql, object.
.. args)
// 3.執行sql語句
ps.execute()
;}catch
(exception e)
finally
}
原子性(atomicity)原子性是指事務是乙個不可分割的工作單位,事務中的操作要麼都發生,要麼都不發生。
一致性(consistency)
事務必須使資料庫從乙個一致性狀態變換到另外乙個一致性狀態。
隔離性(isolation)
事務的隔離性是指乙個事務的執行不能被其他事務干擾,即乙個事務內部的操作及使用的資料對併發的其他事務是隔離的,併發執行的各個事務之間不能互相干擾。
永續性(durability)
永續性是指乙個事務一旦被提交,它對資料庫中資料的改變就是永久性的,接下來的其他操作和資料庫故障不應該對其有任何影響。
6.3.1 資料庫的併發問題
資料庫事務的隔離性: 資料庫系統必須具有隔離併發執行各個事務的能力, 使它們不會相互影響, 避免各種併發問題。
乙個事務與其他事務隔離的程度稱為隔離級別。資料庫規定了多種事務隔離級別, 不同隔離級別對應不同的干擾程度,隔離級別越高, 資料一致性就越好, 但併發性越弱。
6.3.2 四種隔離級別
6.3.3 在mysql中設定隔離級別
資料庫事務
事件是訪問並可能更新各種資料項的乙個程式執行單元。事件由事務開始與事務結束之間執行的全體操作組成。為了保證資料完整性,資料庫系統需要維護事務的以下性質 原子性 atomicity 事務中的操作要麼全部成功,要麼全部失敗。一致性 consistency 事務執行前後要保持資料庫的一致性。隔離性 iso...
資料庫 事務
資料庫事務 database transaction 是指作為單個邏輯工作單元執行的一系列操作。事務處理可以確保除非事務性單元內的所有操作都成功完成,否則不會永久更新面向資料的資源。通過將一組相關操作組合為乙個要麼全部成功要麼全部失敗的單元,可以簡化錯誤恢復並使應用程式更加可靠。乙個邏輯工作單元要成...
資料庫事務
這段時間面試,由於基礎不是特別好,遇到一些要筆試的公司。就會表示出來 今天有人問我,資料庫事務 是什麼。我只感覺十分熟悉。但是又說不出所以然。回來找了一下,現在整理記錄 1 定義 資料庫事務 database transaction 是指作為單個邏輯工作單元執行的一系列操作。事務處理可以確保除非事務...