-
如果不考慮事務(wù)的隔離性,會(huì)引發(fā)安全問題: 臟讀 - 一個(gè)事務(wù)讀取了另一個(gè)事務(wù)改寫但還沒提交的數(shù)據(jù),如果這些數(shù)據(jù)被回滾,則讀到的數(shù)據(jù)是無效的。 不可重復(fù)讀 - 在同一事務(wù)中,多次讀取同一數(shù)據(jù)返回的結(jié)果有所不同。 幻讀 - 一個(gè)事務(wù)讀取了幾行記錄后,另一個(gè) 事務(wù)插入一些記錄,幻讀就發(fā)生了。在后來的查詢中,第一個(gè)事務(wù)就會(huì)發(fā)現(xiàn)有些原來沒有的記錄。 事務(wù)隔離級(jí)別4個(gè): DEFAULT - 使用后端數(shù)據(jù)庫默認(rèn)的隔離級(jí)別(spring中選項(xiàng)) READ_UNCOMMITED - 允許讀取還沒提交的改變了的數(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í)別中是最慢的,它是典型的通過完全鎖定在事務(wù)中涉及的數(shù)據(jù)表來完成的。 spring提供一個(gè)默認(rèn)的級(jí)別(DEFAULT),使用的是底層數(shù)據(jù)庫的默認(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ā)訪問數(shù)據(jù)庫時(shí),一個(gè)用戶的事務(wù)不能被其他用戶的事務(wù)所干擾,多個(gè)并發(fā)事務(wù)之間數(shù)據(jù)要互相隔離。 持久性 -> 指一個(gè)事務(wù)一旦被提交,它對(duì)數(shù)據(jù)庫中數(shù)據(jù)的改變就是永久性的,即使數(shù)據(jù)庫發(fā)生故障也不應(yīng)該對(duì)其有任何影響。查看全部
-
事務(wù): 事務(wù)指的是邏輯上的一組操作,這組操作要么全部成功,要么全部失敗。 比如:張三給李四轉(zhuǎn)錢,有可能途中斷電,如果沒有事務(wù)管理 ,那么有可能張三的錢沒了,而李四也沒收到。如果通過事務(wù)管理,要么一起成功,要么一起失敗。查看全部
-
誰能不能發(fā)我一下源代碼 老師查看全部
-
誰知道為什么沒有配注解驅(qū)動(dòng) 測(cè)試類中也可以用注解 ?還有就是注解的方式能不能直接針對(duì)方法 ?謝謝。誰幫忙解決下查看全部
-
junit查看全部
-
筆記帶截圖不公開查看全部
-
事務(wù)管理的接口查看全部
-
事務(wù)的四個(gè)特性查看全部
-
該圖很重要?。。?!查看全部
-
Spring為不同的持久層框架提供不同的PlatformTransactionManager(接口)的實(shí)現(xiàn)。查看全部
-
Spring事務(wù)管理的三個(gè)接口查看全部
舉報(bào)
0/150
提交
取消