1. 程式人生 > >Spring整合MyBatis進行事務管理

Spring整合MyBatis進行事務管理

1、引入的Spring和MyBatis依賴的jar包

    引入c3p0.jar與mchange-commons.jar是為了使用資料庫連線池,資料庫連線池會在MyBatis以及Spring的事務管理器介面PlatformTransactionManager中使用到。

    引入aopalliance.jar、aspectjweaver.jar、spring-aop.jar、spring-aspects.jar是因為Spring的事務管理是基於AOP的程式設計思想實現的,所以需要引入這4個jar包

    引入mybatis.jar,這沒得說。因為D層使用MyBatis必須得引入該jar包

    引入mybatis-spring.jar,是為了將spring與mybatis進行整合。

    引入commons-logging.jar、log4j.jar、sl4j-api.jar、sl4j-log4j.jar是為了列印日誌的需要

    引入spring-beans.jar、spring-context.jar、spring-core.jar、spring-expression.jar,這也沒得說,這是Spring框架執行的四個核心jar包

    引入mysql-connector-jave.jar,這是JDBC的mysql驅動,要想Java程式訪問MySQL資料庫,必須引入該jar包

    引入spring-jdbc.jar是為了讓Spring管理資料庫

    引入spring-tx.jar,這是spring進行事務管理的核心jar包

2、Java原始碼目錄結果及配置檔案位置

3、Spring核心配置檔案applicationContext.xml的配置以及Java類的註解

applicationContext.xml的約束檔案以及開啟以註解的方式使用Spring的DI(依賴注入)

配置資料庫連線池、以及MyBatis的SqlSessionFactory、SqlSession物件(掃描方式)

對方法transferMoney()以註解的方式開啟事務

4、MyBatis的Maper.xml的配置

5、Mapper介面

6、使用Junit進行測試

1、測試內容

2、測試前對MySQL資料庫的資料進行檢驗


3、執行Junit測試後,再次查詢MySQL資料庫

1)首先檢視日誌,日誌表明有spring進行了回滾(Rolling back JDBC transaction on Connection)


2)查詢MySQL資料庫的結果

    

Spring整合MyBatis實現事務管理,在丟擲異常進行回滾成功。

相關推薦

Spring整合MyBatis進行事務管理

1、引入的Spring和MyBatis依賴的jar包    引入c3p0.jar與mchange-commons.jar是為了使用資料庫連線池,資料庫連線池會在MyBatis以及Spring的事務管理器介面PlatformTransactionManager中使用到。    

spring整合mybatis事務管理

<pre name="code" class="html"><?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper

Spring boot 瞭解(四)(整合mybatis事務管理

對於SpringBoot 整合mybatis和事務管理的記錄 (學習地址:https://www.majiaxueyuan.com/front/couinfo/36) 目錄 1.整合mybatis 2.事務管理 1.整合mybatis 1.新增依賴 <de

spring整合mybatis的事物管理配置

AR nbsp 修改 HA nag word per 進行 rem 一、基本配置 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/sc

Spring 的 AOP 進行事務管理的一些問題

AspectJ AOP事務屬性的配置(隔離級別、傳播行為等): <tx:advice id="myAdvice" transaction-manager="mtTxManager"> <tx:attributes> <tx:method

SSM進階(四)Spring整合Mybatis-----Aop事務

Spring整合Mybatis-----Aop事務 首先對於Spring整合Mybatis有兩種方式那就是使用sql絕對定位以及使用Mapper代理來進行開發,本篇博文先來介紹第一種。        所謂的Sql絕對定位就是namespace+id得方式來進行定位

mybatis(7)---spring整合mybatis進行自動生成程式碼

1、引入mybatis的generator包 <dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-

Spring整合Mybatis進行測試

1、建立測試表test_db: 2、建立一個JavaBean (TestTb) /**  * 測試JavaBean  *  */ public class TestTb {private Integer id;private String name;private D

Spring整合hibernate4:事務管理

Spring和Hibernate整合後,通過Hibernate API進行資料庫操作時發現每次都要opensession,close,beginTransaction,commit,這些都是重複的工作,我們可以把事務管理部分交給spring框架完成。 配置事務(xml方

Spring整合mybatis時使用事務管理

lang pan lan -s error org 版本 batis java 異常報告:java.lang.AbstractMethodError: org.mybatis.spring.transaction.SpringManagedTransaction.getTi

Spring整合MyBatis 事務管理

前言         spring事務管理包含兩種情況,程式設計式事務、宣告式事務。而宣告式事務又包括基於註解@Transactional和tx+aop的方式。那麼本文先分析程式設計式註解事務和基於註解的宣告式事務。 程式設計式事務管理使用TransactionTempla

spring boot整合mybatis以及事務管理

1、整合mybatis。 2、事務管理 一、整合mybatis            備註:通過mapper.xml檔案來進行與資料庫的操作(sql語句靈活,較常使用) 一、整合mybatis  &n

spring進行事務管理

rop 一次 exceptio ext per spring 常見 service服務 pri 一:spring使用註解的方式進行事務聲明 1.spring的聲明式事務: 用jdbc的事務管理器:DataSourceTransactionManager 首先在applica

spring boot配置mybatis事務管理

生成 很多 -s 順序 south 位置 ron 技術 username spring boot配置mybatis和事務管理 一、spring boot與mybatis的配置 1.首先,spring boot 配置mybatis需要的全部依賴如下: <!-- Spri

Spring 使用註解方式進行事務管理

正在 als 也不會 實現 指定 ati nbsp 負責 spring 事務 事務的傳播行為和隔離級別 大家在使用spring的註解式事務管理時,對事務的傳播行為和隔離級別可能有點不知所措,下邊就詳細的介紹下以備方便查閱。 事物註解方式: @Transactional 當標

Spring+JTA+Atomikos+mybatis分散式事務管理

  背景描述:我們平時的工作中用到的Spring事務管理是管理一個數據源的。但是如果對多個數據源進行事務管理該怎麼辦呢?我們可以用JTA和Atomikos結合Spring來實現一個分散式事務管理的功能。 事務(官方解釋):是由一組sql語句組成的“邏輯處理單元”。 事務具有

spring 整合mybatis——多資料來源切換(附帶定時器的配置,儲存過程連線,資料多於50條,分批進行操作)

新建com.millery.utils包在其下新建DataSourceContextHolder類 package com.millery.utils; public class DataSourceContextHolder { private

資料庫事務的四大特性、隔離級別以及Spring中如何利用AOP進行事務管理

首先,什麼是事務? 事務就是業務上的一個邏輯單元,它能夠保證其中對資料所有的操作,要麼成功,要麼失敗。 其次,事務的特性有哪些? 1.原子性。 例如,轉賬,A賬戶減少,B賬戶增加。雖然是兩條 DML語句,但是被當做是一個整體,一次事務。兩條語句只能同時成功或者同時失敗。 2

Spring】(二)使用Spring進行事務管理的幾種方式

      Spring既是SSH中的一員,也是SSM中的一員。不管是在SSH,還是在SSM中,Spring都起到了十分重要的“管理”作用,不論是對action的管理,還是對Controller的管理

SpringCloud SpringBoot mybatis 分散式微服務(十八)Spring Boot中的事務管理

快速入門在Spring Boot中,當我們使用了spring-boot-starter-jdbc或spring-boot-starter-data-jpa依賴的時候,框架會自動預設分別注入DataSourceTransactionManager或JpaTransactionM