AOP事務處理

2022-07-09 02:36:10 字數 1312 閱讀 7877

事務處理底層使用aop原理

spring事務管理api

介面:platformtransactionmarager  

1.datasourcetransationmanager  jdbc  mybatis

2.hibernatetranstionmanager 

具體實現:

1.建立資料來源連線池

2.建立事務管理器

//注入資料來源

3.開啟事務註解

4.在service類上面或方法上面新增事務註解

@transactional

public void userservice(){

@transactional

1.可以使用在類上面,也可以使用在方法上面。 在類上面全部方法都加入事務

2.@transactional (propagation.propagation.required)屬性說明

1)propagation  事務傳播行為

required

required_new

2)isolation  事務到隔離級別  

有三個問題: 髒讀, 不可重複讀,虛讀

mysql 預設使用repeatable read

3)timeout  超時

4)readonly  唯讀

5)rollbackfor  回滾

6)norollbackfor  不回滾

xml方式設定事務

1.配置事務管理器

2.配置通知

指定到那些方法上面新增事務,可以用萬用字元 * 

3.配置切入點和切面

配置切入點

配置切面

完全註解開發

@configuration  //配置類

@componentscan(basepackages="com.duobee")  //開啟元件掃瞄

@enabletransactionmanagement //開啟事務

public classtxconfig{

//建立連線池

@bean

public druiddatasource getdruiddatasource(){

druiddatasource datasource = new druiddatasource();

datasource.setdriverclassname();

return datasource;

//建立jdbctemplate物件

//建立事務管理物件 datasourcetransactionmanager(datasource datasource)

PB事務處理

1 資料視窗更新,只要dberror有錯誤,而事先沒有做過任何commit工作,那麼rollback可以回滾到上次commit位置,即上次commit後所有的資料將被回滾。2 如果是直接寫入sql語句,只要資料庫出現錯誤,那麼rollback可以回滾到上次commit的位置,即上次commit後所有...

MySQL事務處理

start transaction,commit和rollback語法 start transaction begin work commit work and no chain no release rollback work and no chain no release set autocom...

ASP事務處理

asp事務處理。測試資料庫為sql server,伺服器為本機,資料庫名為test,表名為a,兩個欄位id int 主鍵標識,num int set conn server.createobject adodb.connection strconn provider sqloledb.1 persi...