Spring 的事务管理
来源:互联网 发布:php删除首页标签 编辑:程序博客网 时间:2024/06/11 04:46
Spring 提供的事务管理API
PlatformTransactionManager: 平台事务管理器
TransactionDefinition: 事务定义
TransactionStatus: 事务状态
PlatformTransactionManager 通过TransactionDefinition 设置事务相关的信息,管理事务,管理事务过程中,产生一些事务状态,由TransactionStatus 记录。
API详解:
PlatformTransactionManager:接口.
Spring为不同的持久化框架提供了不同PlatformTransactionManager接口实现
org.springframework.jdbc.datasource.DataSourceTransactionManager : 使用Spring JDBC或iBatis 进行持久化数据时使用
org.springframework.orm.hibernate3.HibernateTransactionManager : 使用Hibernate3.0版本进行持久化数据时使用
TransactionDefinition:
ISOLATION_DEFAULT: 默认级别 Mysql: repeatable_read oracle read_commited
ISOLATION_READ_UNCOMMITTED
- ISOLATION_READ_COMMITTED
- ISOLATION_REPEATABLE_READ
- ISOLATION_SERIALIZABLE
事务的传播行为:(不是JDBC事务管理,用来解决实际开发的问题.)传播行为:解决业务层之间的调用的事务的关系.
PROPAGATION_REQUIRED: 支持当前事务,如果不存在 就新建一个 A,B如果A有事务,B使用A的事务,如果A没有事务,B就开启一个新的事务.(A,B是在一个事务中。)
PROPAGATION_SUPPORTS:支持当前事务,如果不存在,就不使用事务 A,B 如果A有事务,B使用A的事务,如果A没有事务,B就不使用事务.
PROPAGATION_MANDATORY:支持当前事务,如果不存在,抛出异常A,B 如果A有事务,B使用A的事务,如果A没有事务,抛出异常.
PROPAGATION_REQUIRES_NEW: 如果有事务存在,挂起当前事务,创建一个新的事务
A,B 如果A有事务,B将A的事务挂起,重新创建一个新的事务.(A,B不在一个事务中.事务互不影响.)PROPAGATION_NOT_SUPPORTED 以非事务方式运行,如果有事务存在,挂起当前事务
A,B 非事务的方式运行,A有事务,就会挂起当前的事务.PROPAGATION_NEVER 以非事务方式运行,如果有事务存在,抛出异常
PROPAGATION_NESTED 如果当前事务存在,则嵌套事务执行 基于SavePoint技术. A,B A有事务,A执行之后,将A事务执行之后的内容保存到SavePoint.B事务有异常的话,用户需要自己设置事务提交还是回滚.
常用:(重点)
PROPAGATION_REQUIRED
- PROPAGATION_REQUIRES_NEW
- PROPAGATION_NESTED
- Spring , Spring的事务管理
- Spring事务管理一:Spring事务管理的优点
- spring提供的事务管理
- spring 的事务管理
- spring的事务管理方式!
- spring框架的事务管理
- spring的事务管理问题
- Spring框架的事务管理
- Spring 事务管理的配置
- 关于spring 的事务管理
- Spring的事务管理
- spring的事务管理
- Spring事务管理的改进
- Spring的事务管理
- 配置spring的事务管理
- Spring 的事务管理
- spring事务管理的种类
- Spring的事务管理
- hibernate实体类报错:Could not find a setter for property * in class * 解决方法
- 金蝶EAS,BOTP单据转换规则,公式参数中使用SQL语句
- 工作中的一些心得
- h5文件分块上传
- 如何将cout输出显示到mfc界面
- Spring 的事务管理
- matlab中函数imresize简介
- Mac 下安装lcov
- JZOJ 3766【BJOI2014】大融合(lct维护子树大小)
- [ZJOI2006]BZOJ 1003 物流运输
- FFMPEG系列之五:H264视频流直播
- iOS view圆角化的四种方法
- 服务端是如何主动推送信息到客户端的?
- Leetcode 623. Add One Row to Tree