博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
配置事务以及事务回滚
阅读量:6923 次
发布时间:2019-06-27

本文共 1168 字,大约阅读时间需要 3 分钟。

下表显示了不同隔离级别允许的并发副作用。
隔离级别
脏读
虚拟读取
未提交读
已提交读
快照

 

 

事务传播机制

 

事务传播行为类型

说明

PROPAGATION_REQUIRED

如果当前没有事务,就新建一个事务,如果已经存在一个事务中,加入到这个事务中。这是 最常见的选择。

PROPAGATION_SUPPORTS

支持当前事务,如果当前没有事务,就以非事务方式执行。

PROPAGATION_MANDATORY

使用当前的事务,如果当前没有事务,就抛出异常。

PROPAGATION_REQUIRES_NEW

新建事务,如果当前存在事务,把当前事务挂起。

PROPAGATION_NOT_SUPPORTED

以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。

PROPAGATION_NEVER

以非事务方式执行,如果当前存在事务,则抛出异常。

PROPAGATION_NESTED

如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则执行与 PROPAGATION_REQUIRED 类似的操作。

当使用 PROPAGATION_NESTED 时, 底层的数据源必须基于 JDBC 3.0 ,并且实现者需要支持保存点事务机制。

 

话不多说,实例走起

实例为是购买股票的案例,实例不是重点,重点是如何配置事务

第一种

ISOLATION_DEFAULT,PROPAGATION_REQUIRED

其中key的值为方法名添加事务回滚的话,在prop节点中添加 “-异常类”,

 

第二种 

相当简洁的一句话,但需要在类中加入@Transaction();

添加事务回滚:

@Transactional(rollbackFor = cgyException.class) rollbackFor= 异常类.class 第三种

事务回滚就是rollback-for=“异常类”;

ok!!!!

转载于:https://www.cnblogs.com/ztm1021810064/p/8588239.html

你可能感兴趣的文章
我的友情链接
查看>>
IntelliJ IDEA15优化设置
查看>>
用 mapreduce 怎么处理数据倾斜问题?
查看>>
maven+eclipse+tomcat配置
查看>>
STL容器,外加一些小细节;我是个小菜鸡
查看>>
[转载] 中华典故故事(孙刚)——40 不见棺材不落泪,不到黄河不死心
查看>>
extjs4 设置第一个datefield值小于第二个
查看>>
算法导论第四章
查看>>
拆笔记本
查看>>
STP的作用
查看>>
浅谈正则表达式
查看>>
win7下安装linux操作系统,实现双系统
查看>>
Centos7简单初始化脚本
查看>>
RabbitMQ学习总结(2)——安装、配置与监控
查看>>
嵌入式Linux ARM汇编(六)——GNU ARM汇编编程
查看>>
大型网站技术架构(五)网站高可用架构
查看>>
linux下利用curl监控网页shell脚本
查看>>
log4j 2使用教程
查看>>
Spring常用注解
查看>>
Maven学习总结(三)——使用Maven构建项目
查看>>