国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Spring管理事務知識

這篇具有很好參考價值的文章主要介紹了Spring管理事務知識。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

1.什么是事務

2.事務的特性ACID

3.Spring 管理事務的方式

4.Spring管理事務的體現(xiàn):JDBCTemplate

5.聲明式事務的屬性有哪些

6.聲明式事務屬性---只讀

7.聲明式事務屬性---超時

8.聲明式事務屬性---回滾策略

9.聲明式事務屬性---事務隔離級別

10.聲明式事務屬性---事務傳播行為


1.什么是事務

?概念:事務就是一種SQL語句執(zhí)行的緩存機制,不會單條執(zhí)行完畢就更新數(shù)據(jù)庫數(shù)據(jù),最終根據(jù)緩存內(nèi)的多條語句執(zhí)行結(jié)果統(tǒng)一判定:

? ? ? ? 所有執(zhí)行結(jié)果判定成功:觸發(fā)commit提交事務來結(jié)束事務,更新數(shù)據(jù)

? ? ? ? 任意一個執(zhí)行結(jié)果失敗:觸發(fā)rollback回滾結(jié)束事務

優(yōu)勢:允許在失敗情況下,數(shù)據(jù)回到業(yè)務之前的狀態(tài)

2.事務的特性ACID

Atomicity-原子性:事務是一個不可分割的工作單位,事務中的操作要么都執(zhí)行,要么都不執(zhí)行

Consistency-一致性:事務必須使數(shù)據(jù)庫從一個一致性狀態(tài)變換到另外一個一致性狀態(tài)

Isolation-隔離性:事務的隔離性指事務并發(fā)執(zhí)行時,不會被其他事務干擾

Durability-持久性:一個事務一旦被提交,它對數(shù)據(jù)庫數(shù)據(jù)的改變就是永久性的

3.Spring 管理事務的方式

編程式事務:將業(yè)務邏輯一層一層全部代碼實現(xiàn),通常是使用TransactionTemplate手動管理事務,應用很少

聲明式事務:使用xml配置文件或者基于注解管理事務,即使用AOP管理事務;提高了開發(fā)效率,能夠優(yōu)化性能

4.Spring管理事務的體現(xiàn):JDBCTemplate

1.JDBCTemplate的位置:是Spring封裝JDBC后形成的框架---SpringJDBC的一個類

2.為什么需要JDBCTemplateJDBCTemplate中有各種對數(shù)據(jù)庫增刪改查的方法,方便操作數(shù)據(jù)庫

5.聲明式事務的屬性有哪些

1.屬性有:只讀、超時、回滾策略、事務隔離級別、事務傳播行為

2.設置方式:使用@Transaction注解,設置相對應的屬性

Spring管理事務知識

?

6.聲明式事務屬性---只讀

1.設置只讀:

@Transactional(
    readOnly = true
)

2.作用:對于一個設置為只讀的查詢操作,數(shù)據(jù)庫就知道該操作不涉及寫操作,從而針對性優(yōu)化

7.聲明式事務屬性---超時

1.設置超時:

@Transactional(
    timeout = 3
)

2.作用:在XXXs時間內(nèi)未執(zhí)行完畢就強制回滾;

8.聲明式事務屬性---回滾策略

1.設置回滾

@Transactional(
    rollbackFor = Exception.class
    rollbackForClassName = java.lang.Exception
    noRollbackFor = Exception.class
    noRollbackForClassName = java.lang.Exception
)

2. 回滾策略的四個屬性:

????????因為…而回滾:

????????????????rollbackFor屬性:需要設置一個Class類型的對象
????????????????rollbackForClassName屬性:需要設置一個字符串類型的全類名

????????不因為…而回滾:
????????????????noRollbackFor屬性:需要設置一個Class類型的對象
????????? ? ????noRollbackForClassName屬性:需要設置一個字符串類型的全類名

3.作用:以下列代碼為例:

@Transactional(
    noRollbackForClassName = java.lang.Exception
)

該代碼的意思是:在事務執(zhí)行的過程中,即使發(fā)生了Exception也不會發(fā)生回滾,事務正常執(zhí)行

?

9.聲明式事務屬性---事務隔離級別

1.設置隔離級別為默認級別(在mysql中為可重復讀)

@Transactional(
    isolation = Isolation.DEFAULT
)

2.什么是隔離級別:事務與其他事務的隔離程度;隔離級別越高,數(shù)據(jù)一致性越好,并發(fā)性越弱

3.隔離級別有幾種:

? ? ? ? 從低到高為:讀未提交、讀已提交、可重復讀(默認)、串行化

4.不同的隔離級別產(chǎn)生的臟讀、不可重復讀、幻讀情況

Spring管理事務知識

10.聲明式事務屬性---事務傳播行為

1.設置事務傳播行為:表示不管當前線程上是否有已經(jīng)開啟的事務,都要開啟新事務

@Transactional(
    propagation = Propagation.REQUIRES_NEW
)

2. propagation(枚舉類)屬性的值有:

????????propagation=Propagation.REQUIRED:默認情況,表示如果當前線程上有已經(jīng)開啟的事務可用,那么就在這個事務中運行。

??????? propagation=Propagation.REQUIRES_NEW:表示不管當前線程上是否有已經(jīng)開啟的事務,都要開啟新事務文章來源地址http://www.zghlxwxcb.cn/news/detail-511064.html

到了這里,關(guān)于Spring管理事務知識的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關(guān)文章

  • 數(shù)據(jù)庫事務是什么?事務的四大特性是什么?

    事務是一組原子性的 SQL 語句,或者說一個獨立的工作單元。如果數(shù)據(jù)庫引擎能夠成功地對數(shù)據(jù)庫應用該組操作的全部語句,那么就執(zhí)行該組查詢。如果其中任何一條語句因為崩潰或其他原因無法執(zhí)行,那么所有的語句都不會執(zhí)行。也就是說,事務內(nèi)的語句,要么全部執(zhí)行成

    2024年02月05日
    瀏覽(24)
  • Spring事務的四大特性+事務的傳播機制+隔離機制

    Spring事務的四大特性+事務的傳播機制+隔離機制

    原子性是指事務是一個不可分割的工作單位,事務中的操作要么都發(fā)生,要么都不發(fā)生。 事務是一個原子操作, 由一系列動作組成。 組成一個事務的多個數(shù)據(jù)庫操作是一個不可分割的原子單元 ,只有所有的操作執(zhí)行成功,整個事務才提交。 事務中的任何一個數(shù)據(jù)庫操作失敗

    2024年01月20日
    瀏覽(31)
  • Spring——Spring事務的實現(xiàn)方式及傳播特性

    Spring事務的特性及隔離級別同事務,詳情請見 事務——什么是事務,事務的特性,事務的隔離級別_醉酒的戈多的博客-CSDN博客 在使用Spring框架的時候,有以下兩種事務的實現(xiàn)方式: 編程式事務:用戶自己通過代碼來控制事務的處理邏輯 聲明式事務:通過@Transactional注解來實

    2024年02月13日
    瀏覽(21)
  • 【Spring Boot】事務的隔離級別與事務的傳播特性詳解:如何在 Spring 中使用事務?不同隔離級別的區(qū)別?

    【Spring Boot】事務的隔離級別與事務的傳播特性詳解:如何在 Spring 中使用事務?不同隔離級別的區(qū)別?

    事務這個詞在學習 MySQL 和多線程并發(fā)編程的時候,想必大家或多或少接觸過。 那么什么是事務呢? 事務是指一組操作作為一個不可分割的執(zhí)行單元,要么全部成功執(zhí)行,要么全部失敗回滾。在數(shù)據(jù)庫中,事務可以保證數(shù)據(jù)的一致性、完整性和穩(wěn)定性,同時避免了數(shù)據(jù)的異常

    2024年02月13日
    瀏覽(28)
  • 事務管理,事務的概念(原子性、一致性、隔離性和持久性(ACID特性))、事務的控制(BEGIN、COMMIT和ROLLBACK)

    事務管理,事務的概念(原子性、一致性、隔離性和持久性(ACID特性))、事務的控制(BEGIN、COMMIT和ROLLBACK)

    目錄 什么是事務 事務的基本特性: 原子性(Atomicity): 一致性(Consistency): 隔離性(Isolation): 持久性(Durability): 使用事務來維護數(shù)據(jù)的完整性 原子性(Atomicity): 一致性(Consistency): 事務日志(Transaction Logs): 外鍵約束(Foreign Key Constraints): 唯一約束(U

    2024年02月05日
    瀏覽(28)
  • Spring 事務管理方案和事務管理器及事務控制的API

    Spring 事務管理方案和事務管理器及事務控制的API

    目錄 一、事務管理方案 1. 修改業(yè)務層代碼 2. 測試 二、事務管理器 1. 簡介 2. 在配置文件中引入約束 3. 進行事務配置 三、事務控制的API 1.?PlatformTransactionManager接口 2.?TransactionDefinition接口 3.?TransactionStatus接口 往期專欄文章相關(guān)導讀? 1. Maven系列專欄文章 2. Mybatis系列專欄文

    2024年02月08日
    瀏覽(26)
  • 【Spring】Spring的事務管理

    【Spring】Spring的事務管理

    Spring的事務管理簡化了傳統(tǒng)的事務管理流程,并且在一定程度上減少了開發(fā)者的工作量。 1.1 事務管理的核心接口 在Spring的所有JAR包中包含一個名為Spring-tx-4.3.6.RELEASE的JAR包,該包就是Spring提供的用于事務管理的依賴包。在該JAR包的org.Springframework.transaction包中有3個接口文件:

    2024年02月03日
    瀏覽(23)
  • Spring使用@Transactional 管理事務,Java事務詳解。

    B站視頻:https://www.bilibili.com/video/BV1eV411u7cg 技術(shù)文檔:https://d9bp4nr5ye.feishu.cn/wiki/HX50wdHFyiFoLrkfEAAcTBdinvh 簡單來說事務就是一組對數(shù)據(jù)庫的操作 要么都成功,要么都失敗。 事務要保證可靠性,必須具備四個特性:ACID。 A:原子性:事務是一個原子操作單元,要么完全執(zhí)行,要么

    2024年02月11日
    瀏覽(18)
  • spring事務管理詳解和實例(事務傳播機制、事務隔離級別)

    spring事務管理詳解和實例(事務傳播機制、事務隔離級別)

    目錄 1 理解spring事務 2 核心接口 2.1 事務管理器 2.1.1 JDBC事務 2.1.2 Hibernate事務 2.1.3 Java持久化API事務(JPA) 2.2 基本事務屬性的定義 2.2.1 傳播行為 2.2.2 隔離級別 2.2.3 只讀 2.2.4 事務超時 2.2.5 回滾規(guī)則 2.3 事務狀態(tài) 3?編程式事務 3.1 編程式和聲明式事務的區(qū)別 3.2 如何實現(xiàn)編程式

    2024年02月06日
    瀏覽(21)
  • Spring之事務管理

    Spring之事務管理

    事務是數(shù)據(jù)庫操作最基本單位,要么都成功,要么都失敗。 原子性 一致性 隔離性 持久性。 Spring定義了7種傳播行為: 傳播屬性 描述 REQUIRED 如果有事務在運行,當前的方法就在這個事務內(nèi)運行,否則,就啟動一個新的事務,并在自己的事務內(nèi)運行 REQUIRED_NEW 當前的方法必須

    2024年02月13日
    瀏覽(34)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包