深入理解spring事務

2022-10-05 01:39:10 字數 1108 閱讀 7901

事務介紹

乙個事務要麼同時成功,要麼同時失敗

特性事務隔離級別

傳播行為

唯讀事務只進行讀取操作

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...