事務的acid原則
永續性在**中測試事務的一致性,selectuser
就作為乙個事務
public listselectuser()
public int adduser(user user)
public int deleteuser(int id)
}在這裡將delete的sql操作寫錯,來測試事務的一致性
<?xml version="1.0" encoding="utf-8" ?>
public "- config 3.0//en"
insert into mybatis.user(id, name, pwd) values (#,#,#)
deletes from mybatis.user where id=#
在spring-dao.xml
中需要新增的配置
xmlns:tx=""
.../spring-tx.xsd
propagation傳播方式:
required:支援當前事務,如果當前沒有事務,就新建乙個事務。這是最常見的選擇。spring的預設選擇
nested:支援當前事務,如果當前事務存在,則執行乙個巢狀事務,如果當前沒有事務,就新建乙個事務。
【下面的不怎麼用】
supports:支援當前事務,如果當前沒有事務,就以非事務方式執行。
mandatory:支援當前事務,如果當前沒有事務,就丟擲異常。
requires_new:新建事務,如果當前存在事務,把當前事務掛起。
not_supported:以非事務方式執行操作,如果當前存在事務,就把當前事務掛起。
never:以非事務方式執行,如果當前存在事務,則丟擲異常。
配置事務切入aop【寫在spring-dao.xml
中】
在測試時,測試類中的事務就具有了一致性,如果delete操作出現錯誤,則整個selectuser
操作都會回滾
注意事項:
Spring學習之十三 宣告式事務
事務的acid原則 required 支援當前事務,如果當前沒有事務,就新建乙個事務。這是最常見的選擇。預設為這個 supports 支援當前事務,如果當前沒有事務,就以非事務方式執行。mandatory 支援當前事務,如果當前沒有事務,就丟擲異常。requires new 新建事務,如果當前存在事...
Spring宣告式事務
net.sf.hibernate.dialect.oracle9dialect false true net.sf.hibernate.transaction.jdbctransactionfactory 1025 用heibernate來管理事務 當用spring和heibernate一起完成da...
spring宣告式事務
1.什麼是事務 事務是程式中一系列嚴密的操作,所有操作執行必須成功完成,否則在每個操作所做的更改將會被撤銷,這也是事務的原子性 要麼成功,要麼失敗 2.事務的特性 事務特性分為四個 原子性 atomicity 一致性 consistency 隔離性 isolation 持續性 durability ...