编程式事务控制相关对象
以下内容不需要记忆,了解即可
1.PlatformTransactionManager(平台事务管理器)
PlatformTransactionManager接口是spring的事务管理器,它提供了我们常用的操作事务的方法
1)TransactionStatus getTransaction(TransactionDefination defination):获取事务的状态信息
2)void commit(TransactionStatus status):提交事务
3)void rollback(TransactionStatus status):回滚事务
PlatformTransactionManager是接口类型,不同的Dao层技术则有不同的实现类,例如:Dao层技术是jdbc或者mybatis时:org.springframework.jdbc.datasource.DataSourceTransactionManager;
Dao层技术是hibernate时,org.springframework.orm.hibernate5.HibernateTransactionManager
======================================================================================================
2.TransactionDefinition(事务的定义对象)
如下方法:
1):int getIsolationLevel() :获得事务的隔离级别
2):int getPropogationBehavior():获得事务的传播行为
3):int getTimeout():获得超时时间
4):boolean isReadOnly():是否只读
======================================================================================================
3.事务隔离级别
设置隔离级别,可以解决事务并发产生的问题,如脏读、不可重复读和虚读
影响性能
*ISOLATION_DEFAULT
*ISOLATION_READ_UNCOMMITTED
*ISOLATION_READ_COMMITTED
*ISOLATION_REPEATABLE_READ
*ISOLATION_SERIALIZABLE
======================================================================================================
4.事务传播对象(解决业务调用业务方法时,事务出现统一性问题)
例如:a业务方法调用b业务方法
*REQUIRED:如果当前没有事务,就新建一个事务,如果已经存在一个事务中,加入到这个事务中,一般的选择(默认值)
(b业务方法看a业务方法有没有事务,如果没有,那么b业务方法就新建一个事务;如果a业务方法有事务,就加入到a业务这个事务中)
*SUPPORTS:支持当前事务,如果当前没有事务,就以非事务方式执行(没有事务)
(a调b,b看a有没有事务,如果有就一块使用有事务,如果没有就以非事务方式运行)
*MANDATORY:使用当前的事务,如果当前没有事务,就抛出异常
(a调b,如果a没有事务,就抛出异常)
*REAUERS_NEW:新建事务,如果当前在事务中,就把当前事务挂起
*NOT_SUPPORTED:以非事务方式执行操作,如果当前存在事务,就把事务挂起
*NEVER:以非事务方式运行,如果当前存在事务,抛出异常
*NESTED:如果当前存在事务,则在嵌套事务内执行,如果当前没有事务,则执行REQUIRED类似的操作
*超时时间:默认值是-1,没有超时限制,如果有,以秒位单位进行设置
*是否只读:建议查询时设置为只读
==================================================================================================================
5.TransactionStatus(事务的状态)
boolean hasSavepoint():是否存储回滚点
boolean isCompleted():事务是否完成
boolean isNewTransaction():是否是新事务
boolean isRollbackOnly():事务是否回滚
总结:编程式事务三大对象
1.PlatformTransactionManager
2.TransactionDefinition
3.TransactionStatus
编程式事务控制相关对象相关推荐
- 【spring】编程式事务控制
结构: AccountServiceImpl package com.itheima.service.impl;import com.itheima.dao.IAccountDao; import c ...
- Spring→事务、隔离级别、事务传播行为、编程式事务控制、XML配置声明式事务(原始方式)、XML配置声明式事务(基于tx/aop)、@注解配置声明式事务、优势总结
事务 Spring事务管理 不考虑隔离引发问题 隔离级别 事务传播行为 演示环境搭建 编程式事务控制 XML配置声明式事务(原始方式) XML配置声明式事务(基于tx/aop) @注解配置声明式事务 ...
- spring编程式事务控制
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://mave ...
- Spring的编程式事务声明式事务 基于注解的声明式事务控制
文章目录 Spring中编程式事务 基于XML的声明式事务控制 基于注解的声明式事务控制 Spring集成web环境 Spring中编程式事务 Spring的事务控制可以分为编程式事务控制和声明式事务 ...
- 全面分析 Spring 的编程式事务管理及声明式事务管理(转)
摘要 Spring 的事务管理是 Spring 框架中一个比较重要的知识点,该知识点本身并不复杂,只是由于其比较灵活,导致初学者很难把握.本教程从基础知识开始,详细分析了 Spring 事务管理的使用 ...
- 全面分析 Spring 的编程式事务管理及声明式事务管理--转
开始之前 关于本教程 本教程将深入讲解 Spring 简单而强大的事务管理功能,包括编程式事务和声明式事务.通过对本教程的学习,您将能够理解 Spring 事务管理的本质,并灵活运用之. 先决条件 本 ...
- Spring事务处理之 编程式事务 和 声明式事务
对事务概念还不了解的可以先看一下 MySQL事务管理(初步了解) 这篇文章 !!! Spring事务管理学习步骤: 1.掌握Spring事务属性 2.掌握Spring事务核心API 3.掌握Sprin ...
- Spring笔记(4) - Spring的编程式事务和声明式事务详解
一.背景 事务管理对于企业应用而言至关重要.它保证了用户的每一次操作都是可靠的,即便出现了异常的访问情况,也不至于破坏后台数据的完整性.就像银行的自助取款机,通常都能正常为客户服务,但是也难免遇到操作 ...
- TransactionTemplate编程式事务
目录 一.TransactionTemplate相关源码 Spring支持编程式事务和声明式事务: 因为业务1.需要细粒度更高的事务控制:2.需要频繁与其他系统交互 举例:需要从A系统获取数据,根据获 ...
最新文章
- java 内存泄漏_Java开发者必须知道的内存泄漏问题
- 美少女什么味??竟然还有美少女风味泡面......
- 【渝粤教育】国家开放大学2018年春季 8622-22T社会调查研究与方法 参考试题
- JAXP进行DOM和SAX解析
- linux ssh连接交换机_访问SMB交换机CLI使用SSH或远程登录
- 枚举变量的重定义问题
- 【Redis】redis 持久化 RDB 和 AOF
- 计算机科学与技术范文,计算机科学与技术专业(范文).doc
- python解决一些错误换行问题
- 3D打印自动支撑算法
- 服务器安全基础知识系列(三)关于网页木马
- android自定义秒表(精确到0.1秒,带计次功能)
- Win7任务管理器显示不全问题解决办法
- 计算机科学学院宣传标语,师范学院宣传标语
- cc美团_项目注册界面实现
- PDF文件怎么转图片格式?转换有技巧
- 线性变换及其对应的矩阵
- 两款截然不同的摩托车游戏
- PIV实验流场流速云图(MALAB contour函数用法)
- android 摇杆控件实现RockerView
热门文章
- KMP POJ 3461 Oulipo
- 1.SharePoint2010初接触
- QEMU 1.3 发布,模拟处理器
- css箭头超链接,css超链接
- antimalware service executable占用内存过高_Win10系统svchost.exe进程占用内存和网速过高的解决方法...
- 静态库调用_静态链接和动态链接对比简析
- 神经网络 并行预测_研究人员研究了为什么神经网络可以有效地进行预测
- python画图零基础入门教程_Python 零基础 快速入门 趣味教程 (咪博士 海龟绘图 turtle) 6. 条件...
- java中怎样导入图片6_java程序员进阶篇之必须掌握的6张思维导图!
- 集成android studio,Android Studio集成