小D課堂 - 零基礎入門SpringBoot2.X到實戰_第8節 數據庫操做之整合Mybaties和事務講解_3五、事務介紹和常見的隔離級別,傳播行爲

筆記

四、事務介紹和常見的隔離級別,傳播行爲
    
    簡介:講解什麼是數據庫事務,常見的隔離級別和傳播行爲

    一、介紹什麼是事務,單機事務,分佈式事務處理等

    二、講解場景的隔離級別
        Serializable: 最嚴格,串行處理,消耗資源大
        Repeatable Read:保證了一個事務不會修改已經由另外一個事務讀取但未提交(回滾)的數據
        Read Committed:大多數主流數據庫的默認事務等級
        Read Uncommitted:保證了讀取過程當中不會讀取到非法數據。


    三、講解常見的傳播行爲
        PROPAGATION_REQUIRED--支持當前事務,若是當前沒有事務,就新建一個事務,最多見的選擇。

        PROPAGATION_SUPPORTS--支持當前事務,若是當前沒有事務,就以非事務方式執行。

        PROPAGATION_MANDATORY--支持當前事務,若是當前沒有事務,就拋出異常。

        PROPAGATION_REQUIRES_NEW--新建事務,若是當前存在事務,把當前事務掛起, 兩個事務之間沒有關係,一個異常,一個提交,不會同時回滾

        PROPAGATION_NOT_SUPPORTED--以非事務方式執行操做,若是當前存在事務,就把當前事務掛起。

        PROPAGATION_NEVER--以非事務方式執行,若是當前存在事務,則拋出異常數據庫

開始

事務的場景

對於多數據庫的場景。分佈式事務

分佈式的事務通常用消息隊列去解決

二、講解場景的隔離級別
        Serializable: 最嚴格,串行處理,消耗資源大
        Repeatable Read:保證了一個事務不會修改已經由另外一個事務讀取但未提交(回滾)的數據
        Read Committed:大多數主流數據庫的默認事務等級
        Read Uncommitted:保證了讀取過程當中不會讀取到非法數據。分佈式

傳播行爲

PROPAGATION_REQUIRED--支持當前事務,若是當前沒有事務,就新建一個事務,最多見的選擇。

        PROPAGATION_SUPPORTS--支持當前事務,若是當前沒有事務,就以非事務方式執行。

        PROPAGATION_MANDATORY--支持當前事務,若是當前沒有事務,就拋出異常。

        PROPAGATION_REQUIRES_NEW--新建事務,若是當前存在事務,把當前事務掛起, 兩個事務之間沒有關係,一個異常,一個提交,不會同時回滾

        PROPAGATION_NOT_SUPPORTED--以非事務方式執行操做,若是當前存在事務,就把當前事務掛起。

        PROPAGATION_NEVER--以非事務方式執行,若是當前存在事務,則拋出異常

blog

相關文章
相關標籤/搜索