寫一下今天處理的spring 事務處理的問題吧
阿新 • • 發佈:2019-01-10
前言:第一篇博文,走上程式猿這條路一年多了,學會了很多,也積累了很多,不知道從哪開始分享下來,等我想好了寫些什麼再寫點優質的博文吧,今天先寫下今天處理的一個關於spring 事務處理的問題;
因為最近由於業務需求所以要加spring 事務,百度了很多大大寫的,自己實現後也總結下
spring事務處理應用場景:對於資料庫的insert,update,delete時使用,主要還是看具體業務要求,一般情況下是insert,update,delete時使用。
使用前檢查:1.對應的資料庫表的表引擎要支援事務。mysql資料庫中的MyISAM表引擎由於加快了insert,update速度,所以是不支援事務處理的,要更改為InnoDB引擎。ps:我就是死在這裡了,所有的東西都配置完,才發現我的天,表引擎不對。
下面正式開始:
首先是xml了
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
<!-- 使用annotation定義事務 -->
<tx:annotation-driven transaction-manager="transactionManager"/>
我使用的是註解形式的所以直接在service類上直接使用@Transactional的方式這樣就可以了。還有很多種方式具體的看下面幾位大大的連結就好了。
業務邏輯比較複雜還是在service實現類上控制的好。
幾種spring 事務的增加方式點選開啟連結