事務(wù)是什么?
事務(wù)一般而言是相對數(shù)據(jù)庫而言的,對于數(shù)據(jù)庫一次操作就屬于一個事務(wù),
一次操作可以是幾句sql語句,也可以是幾句JDBC的Java語句。
一次操作的成敗直接影響數(shù)據(jù)庫的數(shù)據(jù)以及與被修改數(shù)據(jù)有關(guān)的數(shù)據(jù)。所以,
事務(wù)相當(dāng)重要。
事務(wù)原則
數(shù)據(jù)庫事務(wù)遵從ACID原則。
A:原子性,automicty,一次操作對某一數(shù)據(jù)的修改在事務(wù)失敗后恢復(fù)原來的數(shù)據(jù)
C:一致性,一次操作失敗后與被修改的數(shù)據(jù)有關(guān)的所有數(shù)據(jù)恢復(fù)原來的數(shù)據(jù)
I:隔離性:一次操作進(jìn)行的時候,對于其他數(shù)據(jù),被修改的數(shù)據(jù)是不可見的。
D:持久性,一次操作失敗后,數(shù)據(jù)庫的所有數(shù)據(jù)必須保持正確。
舉例說明
事務(wù)管理在現(xiàn)實生活中被常用,比如兩個人在線轉(zhuǎn)money,
A給B轉(zhuǎn)錢,其中B突然斷網(wǎng),那么正在交易的現(xiàn)金就會出現(xiàn)問題:
A少了錢,B的錢沒有增加。這時就需要事務(wù)管理來處理了?。?!
解決方案:加入事務(wù)管理,當(dāng)事務(wù)失敗后,原有數(shù)據(jù)恢復(fù)。