事務處理底層使用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...