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