事務介紹
乙個事務要麼同時成功,要麼同時失敗
特性事務隔離級別
傳播行為
唯讀事務只進行讀取操作
readonly=true 告訴spring當前事務只會進行讀取操作,不會進行修改操作,可以幫助資料庫引擎優化
注:如果設定為唯讀的話,千萬不要在事務裡修改資料,使用唯讀操作時,spring不會進行加鎖處理,如果修改資料的話,會出現問題
事務超時
程式設計客棧事務時間過長,則回滾
回滾規則
rollback-for 指事務對於那些檢查型異常應當回滾而不提交(預設spring會對所有的執行時異常回滾)
no-rollback-for 指事務對於那些異常繼續執行不回滾
事務的使用
create table user(
id int primary key auto_increment,
name varchar(20) not null,
account double
)engine=innodb default charset=utf8;
insert into user (name,account) values('張三',1000);
insert into user (name,account) values('李四',1000);
org.springframework
spring-tx
4.3.29.release
org.springframework
spring-jdbc
4.3.29.release
mysql
mysql-connector-j**a
5.1.48
使用註解
在這裡採用的是spring中的資料來源
< 啟用事務註解 -->
當然由於www.cppcns.com是使用的註解,不要忘記元件掃瞄
之後就可以在要保證事務的方法上配置@transactional以及在該註解上配置相應的事務隔離級別(isolation)、事務傳播行為(propagation)、對哪些異常執行回滾(rollbackfor)以及不執行回滾(norollbackfor) 預設對執行時異常回滾
使用xml
深入理解Spring事務(初步)
簡括 資料庫事務 transaction 是訪問並可能操作各種資料項的乙個資料庫操作序列,這些操作要麼全部執行,要麼全部不執行,是乙個不可分割的工作單位。事務由事務開始與事務結束之間執行的全部資料庫操作組成。作用 保證資料的一致性。原子性 不可分割 一致性 資料一致 隔離性 互不影響 永續性 永久儲...
深入理解Spring事務的傳播行為
本文主要介紹下spring事務中的傳播行為。spring中的7個事務傳播行為 事務行為 說明propagation required 支援當前事務,假設當前沒有事務。就新建乙個事務 propagation supports 支援當前事務,假設當前沒有事務,就以非事務方式執行 propagation ...
深入理解MyBatis MyBatis事務
mybatis可以通過xml配置檔案設定是否進行事務管理,事務管理主要包括事務的提交,回滾等 本文主要介紹了事務的入口,mybatis事務操作對資料庫select操作和update操作的影響等 個人主頁 tuzhenyu s page string resource mybatis config.x...