下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 spring事务传播属性详解(值得收藏)、传播属性介绍如果当前没有事务,就新建个事务,如果已经存在个事务中,加到这个事务中。这是最常见的选择。PROPAGATION_SUPPORTSPROPAGATION_MANDATORYPROPAGATION_REQUIRES_NEWPROPAGATION_NEVERPROPAGATION_NESTED以事务式执,如果当前存在事务,则抛出异常。如果当前存在事务,则在嵌套事务内执。如果当前没有事务,则执与PROPAGATION_REQUIRED类似的操作。、建表sql) ENGINE=InnoDB DEFAULT CHARSET=utf8;CREATE T
2、ABLE pe_user (id varchar(40) NOT NULL COMMENT ID,username varchar(255) NOT NULL COMMENT 户名称,password varchar(255) DEFAULT NULL COMMENT 密码,PRIMARY KEY (id) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;三、代码演1.REQUIREDServicepublic class UserServiceImpl ResourceSysLogServiceImpl sysLogService;Transactionalpub
3、lic void add() sysLogMapper.insertLog(add,new Date();测试法:SpringBootTestTestuserService.add();原始数据:启动志:结果: 总结:add()和 insertLog()在同个事务,当前事务就是add()上的事务,因为add上有事务,所以insertLog()的就是add事务,当add抛异常,insertLog()同样回滚。2.SUPPORTSInteger.parseInt(18.239563);Transactional(propagation = Propagation.SUPPORTS)public v
4、oid insertLog()sysLogMapper.insertLog(add,new Date();原始数据:Propagation.REQUIRED 中启动志:结果: 总结:add()上没有事务,insertLog()也就没有事务,所以即使add即使抛异常,insertLog和add也都不会回滚。3.MANDATORYsysLogMapper.insertLog(add,new Date();初始数据:SUPPORTS的数据启动志:结果:总结:add()上没有事务,insertLog()也就没有事务,所以insertLog会抛出异常,程序直接结束,所以没有数据插。4.REQUIRES_
5、NEW userMapper.insertUser(12321432431,dong,123);Integer.parseInt(18.239563);Transactional(propagation = Propagation.REQUIRES_NEW)sysLogMapper.insertLog(add,new Date();初始数据:MANDATORY的结果数据启动志:结果:总结:add()上有事务,抛异常事务回滚,insertLog()此时和add不是个事务,所以数据插成功。5.NOT_SUPPORTED userMapper.insertUser(12321432431,dong,
6、123);/Integer.parseInt(18.239563);Transactional(propagation = Propagation.NOT_SUPPORTED)sysLogMapper.insertLog(add,new Date();int ss = 1 / 0;初始数据:REQUIRES_NEW结果启动志:结果:总结:add()上有事务,insertLog()抛异常事务回滚,所以没有插,insertLog此时没有事务,计时报错,也不会回滚。6.NEVER userMapper.insertUser(12321432431,dong,123);/Integer.parseIn
7、t(18.239563);Transactional(propagation = Propagation.NEVER)sysLogMapper.insertLog(add,new Date();/int ss = 1 / 0;初始数据:NOT_SUPPORTED数据启动志:结果:总结:add()上有事务,insertLog()抛异常事务回滚,所以没有插,insertLog此时抛出异常,计时报错,事务回滚。7.1 当前事务 NESTEDpublic void add() Transactional(propagation = Propagation.NESTED)sysLogMapper.insertLog(add,new Date();/int ss = 1 / 0;初始数据:NEVER结果数据启动志: 结果:总结:add()上没有事务,insertLog()新建事务,add异常不回滚,insertLog也插正常。7.2 当前有事务Transactionalpublic void add() Transactional(propagation = Propagation.NESTED)public void insertLog()s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农网配电营业工岗位协同应用考核试卷含答案
- 推土犁司机达标知识考核试卷含答案
- 糖汁过滤工岗前基础在岗考核试卷含答案
- 橡胶割胶工工艺规程考核试卷含答案
- 洗衣机制造工创新应用能力考核试卷含答案
- 2026年事业单位招聘英语翻译能力测试冲刺押题试卷
- 2026年熔化焊接与热切割模拟考试题库及答案
- 2026年医师资格考试《临床医学》阶段测试卷及答案
- 2026年会计专业技术资格《中级会计实务》试题解析试卷
- 2026年会计中级职称考试《财务管理》专项训练试卷
- 养老服务行业面试常见问题与答案解析
- 《高等数学》上册课件01-01函数
- 第一章 新问诊课件
- 2025-2030中国埋弧焊行业市场发展趋势与前景展望战略研究报告
- 总课件-发展心理学林崇德
- 安徽财经大学计算机基础专升本(共六卷)含答案解析
- 第一单元 《县委书记的榜样-焦裕禄》《2020中国抗疫记》 联读课件
- 石油化工企业反恐防爆应急预案
- 苹果电脑macOS效率手册
- 模型16 全等三角形-半角模型-原卷版
- AQ/T 1023-2006 煤矿井下低压供电系统及装备通 用安全技术要求(正式版)
评论
0/150
提交评论