一、定義
二、應用場景
設想網上購物的一次交易,其付款過程至少包括以下幾步資料庫操作:
正常的情況下,這些操作將順利進行,最終交易成功,與交易相關的所有資料庫資訊也成功地更新。但是,如果在這一系列過程中任何乙個環節出了差錯,例如在更新商品庫存資訊時發生異常、該顧客銀行帳戶存款不足等,都將導致交易失敗。一旦交易失敗,資料庫中所有資訊都必須保持交易前的狀態不變,比如最後一步更新使用者資訊時失敗而導致交易失敗,那麼必須保證這筆失敗的交易不影響資料庫的狀態–庫存資訊沒有被更新、使用者也沒有付款,訂單也沒有生成。否則,資料庫的資訊將會一片混亂而不可**。
資料庫事務正是用來保證這種情況下交易的平穩性和可**性的技術
三、**形式表示
1、沒有事務
向資料庫插入三條資料,其中第二條語句錯誤
/**
* 沒有事務
* * setautocommit(boolean b) :
* 設定是否自動提交
* 引數為false則不提交,需要手動提交
* 引數為true則提交
*/public class notransaction catch (exception e) finally
}}
2、有事務
/**
* 關閉自動提交事務,手動提交,如果有錯誤,回滾。
* * setautocommit(boolean b) :
* 設定是否自動提交
* 引數為false則不提交,需要手動提交
* 引數為true則提交
*/public class transaction catch (exception e) catch (sqlexception e1)
} finally
}}
事務 Transaction詳解
1 事務概念 一組sql語句操作單元,組內所有sql語句完成乙個業務,如果整組成功 意味著全部sql都實現 如果其中任何乙個失敗,意味著整個操作都失敗。失敗,意味著整個過程都是沒有意義的。應該是資料庫回到操作前的初始狀態。這種特性,就叫 事務 2 為什麼要存在事務?1 失敗後,可以回到開始位置 2 ...
後台 19 事務Transaction
探索android軟鍵盤的疑難雜症 深入 android非同步精髓handler 詳解android主流框架不可或缺的基石 站在原始碼的肩膀上全解scroller工作機制 android多解析度適配框架 1 核心基礎 android多解析度適配框架 2 原理剖析 android多解析度適配框架 3 ...
MySQL 事務 Transaction 詳解
該部落格詳解mysql中的事務 關於銀行賬戶轉賬操作,賬戶轉賬是乙個完整的業務,最小的單元,不可再分 也就是說銀行賬戶轉賬是乙個事務actno balance 1 500 2 100轉賬操作update t act set balance 400 where actno 1 update t act...