spring JDBC模板類 事務管理平台

2021-08-20 19:09:56 字數 2725 閱讀 2431

jar包:

建立乙個測試類:

@test

// jdbc模板的基本使用:

public void demo1()

1.配置內建連線池

2.將模板配置到spring中(也可以讓dao層繼承hibernatedaosupport類注入sessionfactory建立,或者是連線池)

3.編寫測試類

引入spring-aop.jar

@runwith(springjunit4classrunner.class)

public class springdemo2

}

【配置連線池】

配置連線池

platformtransactionmanager:平台事務管理器.

真正管理事務的物件

使用spring jdbc或ibatis 進行持久化資料時使用

org.springframework.jdbc.datasource.datasourcetransactionmanager

使用hibernate版本進行持久化資料時使用

org.springframework.orm.hibernate3.hibernatetransactionmanager

transactiondefinition:事務定義資訊

事務定義資訊:

隔離級別

傳播行為

超時資訊

是否唯讀

transactionstatus:事務的狀態:

記錄事務的狀態

spring的這組介面是如何進行事務管理:

平台事務管理根據事務定義的資訊進行事務的管理,事務管理的過程中產生一些狀態,將這些狀態記錄到transactionstatus裡面

事務的傳播行為:

propagion_***        :事務的傳播行為

保證同乙個事務中

propagation_required    支援當前事務,如果不存在 就新建乙個(預設)

propagation_supports    支援當前事務,如果不存在,就不使用事務

propagation_mandatory    支援當前事務,如果不存在,丟擲異常

保證沒有在同乙個事務中

propagation_requires_new    如果有事務存在,掛起當前事務,建立乙個新的事務

propagation_not_supported    以非事務方式執行,如果有事務存在,掛起當前事務

propagation_never     以非事務方式執行,如果有事務存在,丟擲異常

propagation_nested    如果當前事務存在,則巢狀事務執行

[事務傳播詳細解釋][5]

建立業務層和dao的類

public inte***ce accountservice 

public class accountserviceimpl implements accountservice

@override

/*** from:轉出的賬號

* to:轉入的賬號

* money:轉賬金額

*/public void transfer(string from, string to, double money)

}public inte***ce accountdao

public class accountdaoimpl extends jdbcdaosupport implements accountdao

@override

public void inmoney(string to, double money)

}

配置業務層和dao

1.5.1.3編寫測試類

@runwith(springjunit4classrunner.class)

public class springdemo4

}

手動編寫**完成事務的管理

配置事務管理器

配置事務管理的模板

需要在業務層注入事務管理模板

手動編寫**實現事務管理

public void transfer(final string from, final string to, final double money) 

});}

不需要進行手動編寫**,通過一段配置完成事務管理

引入aop開發的包

aop聯盟.jar

spring-aop.jar

aspectj.jar

spring-aspects.jar

配置事務管理器

配置事務的通知

配置aop事務

spring jdbc 事務配置

配置web.xml xmlns xsi version 3.0 org.springframework.web.context.contextloaderlistener contextconfiglocation 類上事務的宣告 transactional rollbackfor exceptio...

spring jdbc事務管理

以前在做spring security時,就注意到乙個細節,那就是當我只使用spring核心功能與hibernate時,居然也要依賴於spring jdbc包,至少會報以下錯誤 org springframework jdbc support sqlexceptiontranslator 當時並不在...

Day3 Spring JDBC 事務管理

jdbc的程式設計 獲取鏈結 class.forname com.mysql.jdbc.driver connection conn drivermanager.getconnection url,username,password statement stmt conn.createstateme...