Spring 事務處理

2022-02-02 23:27:36 字數 1395 閱讀 5410

簡介:

在實際的業務中,我們往往需要將一些db的寫操作繫結到一起形成乙個「事務」,做到要麼全部成功,要麼全部失敗,一半成功一半失敗往往會造成一些意想不到的業務問題,處理起來也非常麻煩,尤其是和銀行、金融相關的處理更是如此。

在spring中要封裝乙個事務的操作,非常簡單,只需要如下幾步即可:

將 org.springframework.transaction.support.transactiontemplate  和 org.springframework.jdbc.datasource.datasourcetransactionmanager 這兩個類的bean注入。
1

class="org.springframework.transaction.support.transactiontemplate" >23

4class="org.springframework.jdbc.datasource.datasourcetransactionmanager">56

1 @resource(name="transactiontemplate")

2private transactiontemplate transactiontemplate;

本例將根據id刪除計畫和根據計畫id刪除規則兩個操作繫結到一起,以事務的方式執行。

1

@override

2public resultdelplan(long

planid) 67

private

boolean delplan(final

intplanidint)

15});

16 } catch

(runtimeexception e)

20return

true

;21 }

好了,事務的處理基本就這樣,還算比較簡單易用,經常還需要使用到sql的批量處理功能。頻繁的i/o會導致一系列問題,所以在有資料庫的操作時,要計量少地使用i/o操作。批量執行僅一次i/o操作,比單條執行效率高多了。如下**所示,我們在批量向資料庫中插入資料時,可以這樣使用執行器批量執行,還可以控制每次允許插入的條數。

1

@override

2public long batchinsert(final listpostattrscenerellist)

11executor.executebatch();

12return

postattrscenerellist.size();13}

14});

15 }

累積效應遠比一時的靈感重要,哪怕再小的知識點,經時累月,用心經營,也能形成壁壘,許久沒寫東西,深感慚愧。

spring事務處理

一 spring 事務處理 1 事務的處理也交給了 spring 來管理,要在 檔案中上配置事務管理類 實施事務管理的 bean class org.springframwork.orm.hibernate3.hibernatetransactionmanager 它是通過 sessionfacto...

spring事務處理

xml 實施事務管理的bean bean id transactionmanager class org.springframwork.orm.hibernate3.hibernatetransactionmanager property name sessionfactory refbean se...

spring事務處理

一.spring事務分為宣告式事務和程式設計式事務 二 程式設計式事務可以作用在 庫,示例 autowired private org.springframework.jdbc.datasource.datasourcetransactionmanager transactionmanager pu...