IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> JDBC事务、Mybatis事务机制 -> 正文阅读

[Java知识库]JDBC事务、Mybatis事务机制


Mybatis的事务管理:
    什么是事务:
        一个业务可能要对数据库进行一系类列的访问,这一系列访问可能会修改多条数据
    记录这一系列修改应该是一个整体,也就是说多个数据库原子访问应该绑定成一个整体,这就
    是事务事务是一个最少的逻辑执行单元,要么同时执行,要么同时放弃执行。

    事务的四大特性:
        原子性(Atomicity):事务是应的最小逻辑执行体,具有不可再分的特性
        一致性(Consistency):事务执行的结果必须使数据库从一种一致性状态变到另一种一致性状态,对于
            一致性的理解,我认为:当一系列操作作为一个事务时,其执行体在逻辑层面要求
            执行的内容变化合乎本身的代码逻辑设定。以转账为例,在没有转账之前"我"认为
            是一种一致性的状态,当转账时,那么"我"就认为你的账户减钱他的账户加钱后达
            到的状态是另一种一致性,那么要达到另一种一致性就需要执行体完全执行,所以
            事务的一致性需要"原子性"保证!
                一致性这个词放在事务上说似乎有些晦涩、抽象,我认为他只是人为的思想上
            认为的一致性而已。
        隔离性(Isolation):事务之间的执行互不干扰,即并发执行的事务间不能互相影响
        持续性(Durability):也称持久性(Persistence),事务一旦提交,事务对数据所进行的修改将持久在
            数据库。

    Mybatis事务管理机制分为两种:
        使用JDBC的事务管理机制:
            使用Connection对象完成对事务的提交、回滚、关闭
        使用MANAGED的事务管理机制:
            这种机制Mybatis什么也不做,而是让容器来实现对事务的管理

    Transaction接口,Mybatis事务设计的重点:
            1.对数据库的事务来说,应该具有创建、提交、回滚、关闭这几个动作。
            2.Mybatis将事务抽象为Transaction这个接口,它的两个实现类:JdbcTransaction和
        ManagedTransaction。对于这两个实现类Mybatis提供了TransactionFactory接口,
        TransactionFactory有两个实现类:JdbcTransactionFactory和
        ManagedTransactionFactory,用来获取事务实例。

            Transaction接口
                JdbcTransaction实现类
                ManagedTransaction实现类
            TransactionFactory接口
                JdbcTransactionFactory实现类
                ManagedTransactionFactory实现类
        Transaction的实现可通过上面的对应工厂来获取!
            3.对比JdbcTransaction和ManagedTransaction都做了什么?
                JdbcTransaction
                    底层利用原始的事务管理机制,依赖于从dataSource获取的连接connection来实现
                    的管理,JdbcTransaction只不过是对java.sql.Connection事务处理简单封装。
                ManagedTransaction
                    ManagedTransaction的事务是交给容器来做的,他自己啥也没有,即没有实质的
                    事务控制力,它的commit()、rollback()方法里面写的是do noting!

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-10-23 12:20:41  更:2021-10-23 12:22:41 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 0:29:07-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码