springboot mybatis 事務管理

2021-08-20 07:45:59 字數 1284 閱讀 4321

宣告式的事務管理是基於aop的,在springboot中可以通過@transactional註解的方式獲得支援,這種方式的優點是:

1)非侵入式,業務邏輯不受事務管理**的汙染。

2)方法級別的事務回滾,合理劃分方法的粒度可以做到符合各種業務場景的事務管理。

我們在springboot+mybatis+druid基礎上,加上事務功能。在j2ee的三層架構中,通常是在service層中新增事務。

在設計service層的時候,應該合理的抽象出方法包含的內容。然後將方法用@trasactional註解注釋,預設的話在丟擲exception.class異常的時候,就會觸發方法中所有資料庫操作回滾,當然這指的是增、刪、改。當然,@transational方法是可以帶引數的,具體的引數解釋如下:

屬性型別

描述value

string

可選的限定描述符,指定使用的事務管理器

propagation

enum: propagation

可選的事務傳播行為設定

isolation

enum: isolation

可選的事務隔離級別設定

readonly

boolean

讀寫或唯讀事務,預設讀寫

timeout

int (in seconds granularity)

事務超時時間設定

rollbackfor

class物件陣列,必須繼承自throwable

導致事務回滾的異常類陣列

rollbackforclassname

類名陣列,必須繼承自throwable

導致事務回滾的異常類名字陣列

norollbackfor

class物件陣列,必須繼承自throwable

不會導致事務回滾的異常類陣列

norollbackforclassname

類名陣列,必須繼承自throwable

不會導致事務回滾的異常類名字陣列

示例:

@service

public class testservice

@transactional

public void updatetest(long id,string name) throws exception

}

@enabletransactionmanagement

public static void main(string args)

}

springboot mybatis 多資料來源配置

首先 配置檔案 配置資料來源local,other為連線名稱 spring.datasource.local.url jdbc postgresql spring.datasource.local.username admin spring.datasource.local.password 666...

spring boot mybatis配置檔案開發

之前寫了乙個註解版開發的,現在在乙個配置檔案開發。我直接把 貼下面 根據id查詢單個資訊 public orders getorders integer id 新增單個資訊 mybatis config.xml的配置 insert into orders user id,number,oreatet...

Spring Boot Mybatis 使用列舉類

記錄一下,在實際專案引用列舉的步驟 可以參照以前我總結的部落格 為什麼要使用列舉?需要建立以下檔案 檔案描述 inte ce ienum class enumkeytypehandler 繼承 basetypehandler的自定義列舉類 class 實體bean 資料庫對應的po,將需要用列舉表示...