91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Spring事務的隔離級別到底有幾種

發布時間:2021-08-26 16:19:38 來源:億速云 閱讀:257 作者:chen 欄目:大數據

這篇文章主要介紹“Spring事務的隔離級別到底有幾種”,在日常操作中,相信很多人在Spring事務的隔離級別到底有幾種問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Spring事務的隔離級別到底有幾種”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

--什么是事務?

事務就是執行操作要么全成功,要么全失敗,目的是保持數據的一致性

--事務管理的原理是什么?

AOP

--事務的特性?

ACID

--在Spring中進行事務管理需要配置哪些Bean?

事務管理器,事務定義Bean,事務切面,事務注解支持

--事務定義的目的是什么?

告知事務管理框架,如何進行事務管理。

--有幾種定義方式?

xml,注解

--可以定義些什么?

①xml方式:readOnly=“”

                   隔離級別

                   傳播行為

                   在什么樣的異常之下不回滾

                   定義什么樣的情況之下回滾

                   超時回滾

②注解方式@TransactionDefinition是一個接口

插入源碼

public interface TransactionDefinition {
 int getPropagationBehavior();
   int getIsolationLevel();
   int getTimeout();
   boolean isReadOnly();
   String getName();
}

事務管理器

傳播行為7種

隔離級別?種

事務工作的隔離程度

事務的名字

返回是否只讀

Spring事務的隔離級別到底有幾種

點開@Transactional 找到 Isolation  一個枚舉類型,定義了幾種隔離級別

public enum Isolation {
 /**   * Use the default isolation level of the underlying datastore.   * All other levels correspond to the JDBC isolation levels.   * @see java.sql.Connection   */  DEFAULT(TransactionDefinition.ISOLATION_DEFAULT),
 /**   * A constant indicating that dirty reads, non-repeatable reads and phantom reads   * can occur. This level allows a row changed by one transaction to be read by   * another transaction before any changes in that row have been committed   * (a "dirty read"). If any of the changes are rolled back, the second   * transaction will have retrieved an invalid row.   * @see java.sql.Connection#TRANSACTION_READ_UNCOMMITTED   */  READ_UNCOMMITTED(TransactionDefinition.ISOLATION_READ_UNCOMMITTED),
 /**   * A constant indicating that dirty reads are prevented; non-repeatable reads   * and phantom reads can occur. This level only prohibits a transaction   * from reading a row with uncommitted changes in it.   * @see java.sql.Connection#TRANSACTION_READ_COMMITTED   */  READ_COMMITTED(TransactionDefinition.ISOLATION_READ_COMMITTED),
 /**   * A constant indicating that dirty reads and non-repeatable reads are   * prevented; phantom reads can occur. This level prohibits a transaction   * from reading a row with uncommitted changes in it, and it also prohibits   * the situation where one transaction reads a row, a second transaction   * alters the row, and the first transaction rereads the row, getting   * different values the second time (a "non-repeatable read").   * @see java.sql.Connection#TRANSACTION_REPEATABLE_READ   */  REPEATABLE_READ(TransactionDefinition.ISOLATION_REPEATABLE_READ),
 /**   * A constant indicating that dirty reads, non-repeatable reads and phantom   * reads are prevented. This level includes the prohibitions in   * {@code ISOLATION_REPEATABLE_READ} and further prohibits the situation   * where one transaction reads all rows that satisfy a {@code WHERE}   * condition, a second transaction inserts a row that satisfies that   * {@code WHERE} condition, and the first transaction rereads for the   * same condition, retrieving the additional "phantom" row in the second read.   * @see java.sql.Connection#TRANSACTION_SERIALIZABLE   */  SERIALIZABLE(TransactionDefinition.ISOLATION_SERIALIZABLE);

 private final int value;

 Isolation(int value) { this.value = value; }
 public int value() { return this.value; }
}

源碼中指出:Spring事務的隔離級別有5種

Spring事務的隔離級別到底有幾種

DEFAULT:默認隔離級別,跟隨數據庫的隔離級別,Mysql默認采用

可重復讀,Oracle 默認采用讀已提交

READ_UNCOMMITTED:讀未提交,最低的隔離級別

READ_COMMITTED:讀已提交

REPEATABLE_READ:可重復讀

SERIALIZABLE:串行化,最高的隔離級別,事務依次執行,性能差,

時間換空間的概念

Spring事務的隔離級別到底有幾種

--TransactionManager會有很多種嗎?

跟隨框架的不同,支持不同的事務管理

Spring事務的隔離級別到底有幾種

--什么是本地事務?什么是分布式事務?

本地事務就是數據庫事務,分布式事務就是多數據源事務

--Spring事務管理接口

PlatformTransactionManager 開啟,提交,回滾

TransactionDefinition 事務定義

TransactionalStatus   事務狀態

到此,關于“Spring事務的隔離級別到底有幾種”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

德安县| 宜章县| 万山特区| 子洲县| 葫芦岛市| 焦作市| 英山县| 龙陵县| 鹿泉市| 铁岭县| 游戏| 平定县| 南和县| 巴马| 阿坝| 闸北区| 曲水县| 吉安市| 苍南县| 鄂尔多斯市| 潍坊市| 舒兰市| 和田市| 永新县| 美姑县| 东丰县| 霍山县| 赤水市| 息烽县| 莎车县| 民勤县| 嫩江县| 伊川县| 双流县| 淮阳县| 永川市| 江永县| 嘉兴市| 林甸县| 苏尼特右旗| 柳州市|