我把老師這節(jié)課講的話90%以上記錄下來了。有不對的地方請指正,謝謝。
2016年5月12日晚上
Spring事務(wù)管理的課程目標:
我們會學習到如下內(nèi)容:
1.事務(wù)的回顧,在事務(wù)的回顧里邊,我們會回顧一下事務(wù)的基本的概念以及事務(wù)的一些相關(guān)的特性,
2.那么接下來我們會學習spring事務(wù)管理中的一組API,因為我們可以通過這組API來進行spring的事務(wù)管理
3.那么接下來我們就來學習spring中的編程式的事務(wù)管理,以及spring中的聲明式的事務(wù)管理。
那么這就是我們這節(jié)課的一個目標。
那么我們在說完了這節(jié)課的課程目標之后呢我們接下來來說一下,我們的第一個內(nèi)容,就是事務(wù)的知識點的回顧。
什么是事務(wù)?以及事務(wù)的特性?
事務(wù)指的是邏輯上的一組操作,這組操作呢,要么全部成功,要么全部 失敗。那么我們在這里以一個銀行轉(zhuǎn)賬的案例來分析,
那么我們假設(shè)有兩個人,一個是張三,一個是李四,那么張三賬戶里有2千元,李四賬戶也有2千元,那現(xiàn)在張三要給李四進行轉(zhuǎn)賬1千元的操作,那么我們就會修改張三的賬戶,給張三的賬戶扣除掉1千元,然后我們要修改李四的賬戶,給李四的賬戶加1千元,那這樣的話,我們就完成了一個轉(zhuǎn)賬的操作。但這組操作呢,它不應(yīng)該出現(xiàn)的情況就是張三轉(zhuǎn)了1千元之后,比如說突然間斷電了,或者出現(xiàn)了一些其他的特殊情況,那么這樣的話,張三的錢轉(zhuǎn)出去了,而李四沒收到,那這種情況是不應(yīng)該出現(xiàn)的,所以說在這種情況里邊,我們的一組操作我們可以用一組事務(wù)來進行管理,那么這組操作一旦加入到了事務(wù)的管理操作里邊了,那么它們就必須一起成功,或者一起失敗,那么一起 成功的情況是什么呢 就是張三把錢轉(zhuǎn)出去了,李四也收到錢了,那如果是一起失敗呢,那一起失敗指的是張三的錢也沒轉(zhuǎn)出去,李四也沒收到錢,這種情況不允許出現(xiàn)張三錢轉(zhuǎn)了,李四沒收到的情況。所以說這是事物的概念。它就是用來保證我們這組操作要么全都成功,要么全都失敗,那么在事務(wù)當中呢,它是有一些相關(guān)的特性的,那事務(wù)一般都會有4大特性:這4大特性包含了原子性,一致性,隔離性,以及持久性,那什么是原子性呢,原子性指的是事務(wù)是一個不可分割的單位,事務(wù)中的操作要么都發(fā)生了,要么都不發(fā)生,那么我們都知道,物理中原子是最小的單位 ,那么它強調(diào)的是我們這一組單位是不能進行分割的,不能拿出來單獨去運行的,因為單獨運行的話,那都有可能會導(dǎo)致錯誤或者而失敗的產(chǎn)生,那么我們要把這一組呢要放在一個事務(wù)里邊,那么它們就能一起成功或者一起失敗了。那什么是事務(wù)的一致性呢?那事務(wù)的一致性指的是,我們事務(wù)執(zhí)行的前后,數(shù)據(jù)的完整性,要保持一致,也就是說我們在事務(wù)執(zhí)行之前,張三里邊有2千元,李四賬戶里也有2千元,那么總共是4千元,那當我們轉(zhuǎn)賬完成之后,那張三的賬戶里是1千元,而李四的賬戶里是3千元,那總共的金額也是4千元,所以說在執(zhí)行的前后,我們的這種完整性,是一致的。它不能出現(xiàn)張三的錢被扣掉,李四沒收到這種情況。那什么是隔離性呢?隔離性強調(diào)的是,多個用戶并發(fā)訪問數(shù)據(jù)庫的時候,那么一個用戶的事務(wù)的執(zhí)行過程當中,不應(yīng)該受到其他事務(wù)的干擾,比如說我們有兩個事務(wù)在同時的操作數(shù)據(jù)庫,那你這邊比如說正在修改張三的記錄,而又有一個記錄進來修改張三這條記錄,那最后修改完事之后呢,會導(dǎo)致你這個記錄會被重復(fù)的修改,或者是一開始的事務(wù)改完的記錄被第二個事務(wù)給覆蓋掉了。那么我們的事務(wù)在執(zhí)行的過程當中呢,盡量不要讓它收到其他事務(wù)的干擾,那這怎么做到呢?那數(shù)據(jù)庫里都有一個事務(wù)的隔離級別,我們可以通過設(shè)置隔離級別呢,來解決這種問題。還有一個就是事務(wù)的持久性,事物的持久性它指的是一個事務(wù)一旦被提交了,那它的記錄就被真正的修改到我們的數(shù)據(jù)庫里邊了。如果你的事務(wù)沒有提交,那你在執(zhí)行了一個語句之后呢,這個數(shù)據(jù)還沒有被真正的修改到數(shù)據(jù)庫,或者是進入到數(shù)據(jù)庫,那么只有你的事務(wù)提交了之后,這條記錄才會被真正的修改或者進入到我們的數(shù)據(jù)庫當中,那這個就是事務(wù)的持久性。通過以上的講解,可以對事務(wù)有一個簡單的認識。
2019-09-08
謝謝!我抄一份,不介意吧
2018-05-18
就你最牛批,克服打瞌睡嗎
2016-12-16
很需要
2016-05-15
總結(jié)的很好