事物,從資料庫的學習中可以知道,事物必須遵循acid原則,(摘於資料庫教材和自己的總結)即
<1> 原子性:操作這些指令時,要麼全部執行,要麼乙個不執行,即不存在命令執行一部分的情況,一旦出錯即會滾到出事狀態
<2> 一致性:事物隔離執行時要保持資料庫的一致性。也就是說事務執行結果必須使事物從乙個狀態轉變到另乙個一致性狀態,但是無內部無需保持一致性。
<3>隔離性:乙個事物的執行不能干擾其他事物,也就是說即使多個事物併發執行,任何事物的更新操作直到其提交成功,對其他事物是不可見的。
<4>永續性:乙個事物完成後他對資料庫的改變時永久的,即使資料庫出現故障,他對資料庫的更新也是永久有效的。
事物併發導致的問題:
<1> 丟失修改:兩個或多個事物同時從資料庫中讀取相同的資料物件並進行修改,後提交的事物修改破壞的先提交的事物的修改,導致先提交的事物修改丟失
<2>讀「髒」資料:指的是事物ti修改某一資料,並將其寫回磁碟,事物tj讀取統一資料後,事物ti由於某種原因被撤銷,這時,被事物ti修改過的資料恢復原值,事物tj讀到的資料就與資料庫中的資料不一致。
<3>不可重複讀:事物ti讀取資料後,事物tj進行更新操作,使事物ti無法再現前一次讀取的結果。
三類不可重複讀:
1:事物ti讀取某一資料後,事物tj對其作了修改,當事物ti再次讀取該資料項時,得到與前一次不同的值。
2:事物ti按一定條件從資料庫中讀取某些資料庫記錄後,事物tj刪除了部分記錄,當事物ti再次按相同條件讀取資料時,發現某些記錄神秘消失。
3:事物ti按一定條件從資料庫中讀取某些資料記錄後,事物tj插入了一些記錄,。。。。。。發現多了一些記錄。
jdbc事物,spring事物的概念以及處理
在connection類中提供了3個控制事務的方法 1 setautocommit boolean autocommit 設定是否自動提交事務 2 commit 提交事務 3 rollback 撤消事務 在jdbc api中,預設的情況為自動提交事務,也就是說,每一條對資料庫的更新的sql語句代表一...
Spring事物管理
spring 事物的管理是申明式事物,通過在spring的xml檔案中配置3個元件,來管理整個專案的事物.最初事物的概念是在資料庫中提出的,為了保證資料的安全性.事物通俗的說就是原子的操作流程,符合acid,分別為原子性,一致性,隔離性,永久性.原子性是指事物中多張表的資料操作,要嘛全部成功,如其中...
spring 事物配置
struts hibernate spring整合開發web應用是相當流行的,只需要簡單的配置就能輕鬆的對資料庫進行crud操作,下面就hibernate spring的配置做一下剖析,一邊與大家一起分享經驗 1 準備工作 可以利用hibernate tools生成相關對映檔案已經po物件 dao物...