首页 > 其他分享 >Mybatis事务控制

Mybatis事务控制

时间:2022-10-25 10:33:15浏览次数:78  
标签:控制 事务 rollback 回滚 MyBatis Mybatis close

https://blog.csdn.net/weixin_34392906/article/details/91425640

一.1. 概述

  对数据库的事务而言,应该具有以下几点:创建(create)、提交(commit)、回滚(rollback)、关闭(close)。对应地,MyBatis将事务抽象成了Transaction接口:其接口定义如下:

MyBatis的事务管理分为两种形式:

1.使用JDBC的事务管理机制:即利用java.sql.Connection对象完成对事务的提交(commit())、回滚(rollback())、关闭(close())等。

2.使用MANAGED的事务管理机制:这种机制MyBatis自身不会去实现事务管理,而是让程序的容器如(JBOSS,Weblogic)来实现对事务的管理。

这两者的类图如下所示:

 

 

1. 事务的配置、创建和使用

1.1. 1. 事务的配置

 

我们在使用MyBatis时,一般会在MyBatisXML配置文件中定义类似如下的信息:

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <!--映入外部文件定义的属性,供此配置文件使用-->
    <properties resource="jdbc.properties"></properties>
    <environments default="development">
        <!-- 连接环境信息,取一个任意唯一的名字 -->
        <environment id="development">
            <!-- mybatis使用jdbc事务管理方式 -->
            <transactionManager type="jdbc"/>
            <!-- mybatis使用连接池方式来获取连接 -->
            <dataSource type="pooled">
                <!-- 配置与数据库交互的4个必要属性 -->
                <property name="driver" value="${jdbc.driver}"/>
                <property name="url" value="${jdbc.url}"/>
                <property name="username" value="${jdbc.username}"/>
                <property name="password" value="${jdbc.password}"/>
            </dataSource>
        </environment>
    </environments>
    <!-- 加载映射文件-->
    <mappers>
        <mapper resource="com/mybatis/EmployeeMapper.xml"/>
    </mappers>   
</configuration>
View Code

 

 

 

 

 

 

标签:控制,事务,rollback,回滚,MyBatis,Mybatis,close
From: https://www.cnblogs.com/xdlrf/p/16824043.html

相关文章

  • 流程控制语句和JavaScript语法练习99乘法表
    流程控制语句流程控制语句:1.if...else...2.switch:在java中,switch语句可以接受的数据类型:byteintshorchar枚举(1.5)string(1.7)3.while4.do.......
  • java流程控制1之Scanner
    一、Scanner对象1、基本语法Scannerscanner=newScanner(System.in);2、基本用法规则通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取之前我们一般......
  • MybatisPlus分页查询插件
    MybatisPlus分页查询插件公共配置类@ConfigurationpublicclassMybatisPlusPageConfig{/* 旧版本配置 @Bean publicPaginationInterceptorpaginationInterc......
  • 14. MyBatis注解式开发
    一、什么是MyBatis注解式开发  MyBatis中也提供了注解式开发方式,采用注解可以减少SQL映射文件的配置。如果使用注解式开发的话,SQL语句是写在Java程序中的,这种方式......
  • MyBatis
    MyBatis什么是MybatisMybatis是一款优秀的持久层框架,用于简化JDBC开发Mybatis本是Apache的一个开源项目iBatis,2010年这个项目由apachesoftwarefoundation迁移到了goog......
  • Mybatis
    ResultMap结果集映射多对一按照查询嵌套处理:需要两个查询,被嵌套的<association>需要column以及select属性按照结果嵌套处理:不需要column以及select属性对于数据......
  • 实验5:开源控制器实践——POX
    一、实验目的1.能够理解POX控制器的工作原理;2.通过验证POX的forwarding.hub和forwarding.l2_learning模块,初步掌握POX控制器的使用方法;3.能够运用POX控制器编写自定......
  • springMvc整合mybatis和mybatis 的dao层
    springMvc整合mybatis1.1pom注入依赖<dependencies><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId>......
  • mysql事务和隔离级别学习--笔记
    一、MySQL事务1、什么事事务事务(transaction)就是一个最小的单独任务单元由一个或多个SQL语句组成,在这个任务单元中,每个SQL语句都是相互依赖,整个任务单元是作为一个不可分......
  • 【转】MyBatis 通过Map更新
     原文:mybatis使用map批量更新(Oracle)有个需求,MyBatis通过Map的key作为条件,value作为更新后的值来更新数据。 <updateid="batchUpdateLogistics"parameterType="m......