-
事務(wù)的特性:原子性,一致性,隔離性,持久性查看全部
-
@Runwith(SpringJUnit4ClassRunner.class) @ContextConfiguration("classpath:applicationContext2.xml") public class 項目類{ @Resource(name="accountService") private AccountService accountService; public void 項目事務(wù)動作(){ accountService.transfer("aaa","bbb",200d) } }查看全部
-
<bean id="accountService" class="cn.itcast.service.AccountService"> <property name="accountDAO" ref="accountDAO"></property> <property name="transactionTemplate" ref="transactionTemplate"></property> </bean>查看全部
-
事務(wù)的傳播行為:主要是解決業(yè)務(wù)層方法之間的相互調(diào)用的問題 事務(wù)的傳播行為有七種,又分為三類: 第一類共同點:如果 A 方法中有事務(wù),則調(diào)用 B 方法時就用該事務(wù),即:A和B方法在同一個事務(wù)中。 PROPAGATION_REQUIRED:如果 A 方法中沒有事務(wù),則調(diào)用 B 方法時就創(chuàng)建一個新的事務(wù)。 PROPAGATION_SUPPORTS:如果 A 方法中沒有事務(wù),則調(diào)用 B 方法時就不使用該事務(wù)。 PROPAGATION_MANDATORY:如果 A 方法中沒有事務(wù),則調(diào)用 B 方法時就拋出異常。 第二類共同點:A方法和B方法沒有在同一個事務(wù)里面。 PROPAGATION_REQUIRES_NEW:如果 A 方法中有事務(wù),則掛起并新建一個事務(wù)給 B 方法。 PROPAGATION_NOT_SUPPORTED:如果 A 方法中有事務(wù),則掛起。 PROPAGATION_NEVER:如果 A 方法中有事務(wù),則報異常。 第三類:如果 A 方法有的事務(wù)執(zhí)行完,設(shè)置一個保存點,如果 B 方法中事務(wù)執(zhí)行失敗,可以滾回保存點或初始狀態(tài)。 PROPAGATION_NESTED :如果當前事務(wù)存在,則嵌套事務(wù)執(zhí)行。查看全部
-
1.臟讀。 一個事務(wù)讀取了另一個事務(wù)改寫但還未提交的數(shù)據(jù),如果這些數(shù)據(jù)被回滾,則讀到的數(shù)據(jù)是無效的。 2.不可重復讀。 在同一個事務(wù)中,多次讀取同一數(shù)據(jù)返回的結(jié)果有所不同。 3.幻讀。 一個事務(wù)讀取了幾行記錄后,另一個事務(wù)插入一些記錄,幻讀就發(fā)生了。再后來的查詢中,第一個事務(wù)就會發(fā)現(xiàn)有些原來沒有的記錄。 MySQL默認事務(wù)隔離級別:REPATABLE_READ(可能出現(xiàn)幻讀) Oracle默認:READ_COMMITTED(可能出現(xiàn)不可重復讀和幻讀)查看全部
-
事務(wù)管理器查看全部
-
首先會根據(jù)TransactionDefinition事務(wù)定義的信息(比如定義了什么樣的隔離級別,定義什么樣的傳播行為),由PlatformTransactionManager對事務(wù)進行管理,進行事務(wù)管理的過程中,事務(wù)會產(chǎn)生一些相應(yīng)的狀態(tài),這些狀態(tài)在TransactionStatus中。查看全部
-
事務(wù)的 ACID 事務(wù)具有四個特征:原子性( Atomicity )、一致性( Consistency )、隔離性( Isolation )和持續(xù)性( Durability )。 1 、原子性 事務(wù)是數(shù)據(jù)庫的邏輯工作單位,事務(wù)中包含的各操作要么都做,要么都不做。 2 、一致性 事務(wù)執(zhí)行的結(jié)果必須是使數(shù)據(jù)庫從一個一致性狀態(tài)變到另一個一致性狀態(tài)。因此當數(shù)據(jù)庫只包含成功事務(wù)提交的結(jié)果時,就說數(shù)據(jù)庫處于一致性狀態(tài)。如果數(shù)據(jù)庫系統(tǒng)運行中發(fā)生故障,有些事務(wù)尚未完成就被迫中斷,這些未完成事務(wù)對數(shù)據(jù)庫所做的修改有一部分已寫入物理數(shù)據(jù)庫,這時數(shù)據(jù)庫就處于一種不正確的狀態(tài),或者說是不一致的狀態(tài)。 3 、隔離性 一個事務(wù)的執(zhí)行不能其它事務(wù)干擾。即一個事務(wù)內(nèi)部的操作及使用的數(shù)據(jù)對其它并發(fā)事務(wù)是隔離的,并發(fā)執(zhí)行的各個事務(wù)之間不能互相干擾。 4 、持續(xù)性 也稱永久性,指一個事務(wù)一旦提交,它對數(shù)據(jù)庫中的數(shù)據(jù)的改變就應(yīng)該是永久性的。接下來的其它操作或故障不應(yīng)該對其執(zhí)行結(jié)果有任何影響。查看全部
-
原子 都成功都失敗 一致 前后數(shù)據(jù)一致 隔離 事務(wù)提交過程正操作的數(shù)據(jù)中隔離其他事務(wù)不被修改(數(shù)據(jù)庫隔離級別) 持久 事務(wù)提交后,數(shù)據(jù)就真正更改了!查看全部
-
隔離級別查看全部
-
傳播行為查看全部
-
Spring事務(wù)管理高層抽象主要三個接口查看全部
-
聲明式事務(wù)管理 2.使用xml,基于tx/aop查看全部
-
聲明式事務(wù)管理 1.使用原始的TransactionProxFactoryBean查看全部
-
Spring編程式事務(wù)管理查看全部
舉報
0/150
提交
取消