-
如果不考慮事務(wù)的隔離性,會(huì)引發(fā)安全問(wèn)題: 臟讀 - 一個(gè)事務(wù)讀取了另一個(gè)事務(wù)改寫(xiě)但還沒(méi)提交的數(shù)據(jù),如果這些數(shù)據(jù)被回滾,則讀到的數(shù)據(jù)是無(wú)效的。 不可重復(fù)讀 - 在同一事務(wù)中,多次讀取同一數(shù)據(jù)返回的結(jié)果有所不同。 幻讀 - 一個(gè)事務(wù)讀取了幾行記錄后,另一個(gè) 事務(wù)插入一些記錄,幻讀就發(fā)生了。在后來(lái)的查詢中,第一個(gè)事務(wù)就會(huì)發(fā)現(xiàn)有些原來(lái)沒(méi)有的記錄。 事務(wù)隔離級(jí)別4個(gè): DEFAULT - 使用后端數(shù)據(jù)庫(kù)默認(rèn)的隔離級(jí)別(spring中選項(xiàng)) READ_UNCOMMITED - 允許讀取還沒(méi)提交的改變了的數(shù)據(jù)??赡軐?dǎo)致臟、幻、不可重復(fù)讀 READ_COMMITTED - 允許在并發(fā)事務(wù)已經(jīng)提交后讀取??煞乐古K讀,但幻、不可重復(fù)讀仍可發(fā)生 REPEATABLE_READ - 對(duì)相同字段的多次讀取是一致的,除非數(shù)據(jù)被事務(wù)本身改變。可防止臟、不可重復(fù)讀,但幻讀仍可能發(fā)生。 SERIALLIZABLE - 完全服從 ACID 的隔離級(jí)別,確保不發(fā)生臟、幻、不可重復(fù)讀。這在所有隔離級(jí)別中是最慢的,它是典型的通過(guò)完全鎖定在事務(wù)中涉及的數(shù)據(jù)表來(lái)完成的。 spring提供一個(gè)默認(rèn)的級(jí)別(DEFAULT),使用的是底層數(shù)據(jù)庫(kù)的默認(rèn)的事務(wù)級(jí)別。 MySQL默認(rèn)采用 REPEATABLE_READ 隔離級(jí)別 oracle默認(rèn)采用 READ_COMMITTED 隔離級(jí)別查看全部
-
PlatformTransactionManager平臺(tái)事務(wù)管理: spring為不同的持久層框架提供不同的PlatformTransactionManager接口實(shí)現(xiàn)。、 比如: 使用Spring jdbc或ibatis進(jìn)行持久化數(shù)據(jù)時(shí),使用org.springframework.jdbc.darasource.DataSourceTransactionManager就可以了。 如果使用hibernate3.0版本進(jìn)行持久化 數(shù)據(jù),可使用org.springframework.orm.hibernateTransactionManager. -----一般使用以上兩個(gè),具體看情況----- JAP - JpaTransactionManager Jdo - JdoTransactionManager JTA - JtaTransactionManager 用到什么,就使用相對(duì)應(yīng)平臺(tái)的事務(wù)管理就行了。查看全部
-
spring事務(wù)管理高層抽象3個(gè)接口: PlatformTransactionManager - 事務(wù)管理器 TransactionDefinition - 事務(wù)定義信息(隔離、傳播、超時(shí)、只讀) TransactionStatus - 事務(wù)具體運(yùn)行狀態(tài)查看全部
-
老師在哪里可以下載視頻和代碼查看全部
-
事務(wù)的特性: 原子性 -> 指事務(wù)是一個(gè)不可分割的工作單位,事務(wù)中的操作要么都發(fā)生,要么都不發(fā)生。 一致性 -> 指事務(wù)前后的數(shù)據(jù)的完整性必須保持一致。 隔離性 -> 指多個(gè)用戶并發(fā)訪問(wèn)數(shù)據(jù)庫(kù)時(shí),一個(gè)用戶的事務(wù)不能被其他用戶的事務(wù)所干擾,多個(gè)并發(fā)事務(wù)之間數(shù)據(jù)要互相隔離。 持久性 -> 指一個(gè)事務(wù)一旦被提交,它對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)的改變就是永久性的,即使數(shù)據(jù)庫(kù)發(fā)生故障也不應(yīng)該對(duì)其有任何影響。查看全部
-
事務(wù): 事務(wù)指的是邏輯上的一組操作,這組操作要么全部成功,要么全部失敗。 比如:張三給李四轉(zhuǎn)錢(qián),有可能途中斷電,如果沒(méi)有事務(wù)管理 ,那么有可能張三的錢(qián)沒(méi)了,而李四也沒(méi)收到。如果通過(guò)事務(wù)管理,要么一起成功,要么一起失敗。查看全部
-
誰(shuí)能不能發(fā)我一下源代碼 老師查看全部
-
誰(shuí)知道為什么沒(méi)有配注解驅(qū)動(dòng) 測(cè)試類(lèi)中也可以用注解 ?還有就是注解的方式能不能直接針對(duì)方法 ?謝謝。誰(shuí)幫忙解決下查看全部
-
junit查看全部
-
筆記帶截圖不公開(kāi)查看全部
-
事務(wù)管理的接口查看全部
-
事務(wù)的四個(gè)特性查看全部
-
該圖很重要!?。?!查看全部
-
Spring為不同的持久層框架提供不同的PlatformTransactionManager(接口)的實(shí)現(xiàn)。查看全部
-
Spring事務(wù)管理的三個(gè)接口查看全部
舉報(bào)
0/150
提交
取消