有时候业务场景需要 在事务结束后执行一些更新操作; 或者在事务失败回滚后执行一些更新表状态的操作; 就可以用到如下代码:

    @Transactional(rollbackFor = Exception.class)public void except() {//事务完成后提交TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronizationAdapter() {//提交后,  指正常结束@Overridepublic void afterCommit() {//doSomething};//执行完成后, 可以是提交  也可以是回滚@Overridepublic void afterCompletion(int status) {if (status == TransactionSynchronization.STATUS_ROLLED_BACK) {log.info("=============!回滚===================");//do}}});}

spring中事务执行完成后/回滚后执行相关推荐

  1. java jdbc 回滚_java_详解Java的JDBC API中事务的提交和回滚,如果JDBC连接是在自动提交模式 - phpStudy...

    详解Java的JDBC API中事务的提交和回滚 如果JDBC连接是在自动提交模式下,它在默认情况下,那么每个SQL语句都是在其完成时提交到数据库. 这可能是对简单的应用程序,但有三个原因,你可能想关 ...

  2. MySQL中事务的提交和回滚机制

    应用场景: 银行取钱,从ATM机取钱,分为以下几个步骤 1 登陆ATM机,输入密码: 2 连接数据库,验证密码: 3 验证成功,获得用户信息,比如存款余额等: 4 用户输入需要取款的金额,按下确认键: ...

  3. Spring transaction事务之roll back回滚: rollback-for

    试验方法: 写一个单元测试,调用一个service层方法(发生对数据库进行写操作的方法--insert.update.delete)即可. applicationContext.xml 样子(如何设置 ...

  4. 事务执行sql脚本,错误后回滚

    1.手动commit,rollback -- 开启事务 START TRANSACTION; -- 关闭自动提交 SET autocommit = 0;-- 要执行的sql INSERT INTO ` ...

  5. mysql事务回滚后,自增ID仍然增加

    事务回滚后,自增ID仍然增加 回滚后,自增ID仍然增加. 比如当前ID是7,插入一条数据后,又回滚了. 然后你再插入一条数据,此时插入成功,这时候你的ID不是8,而是9. 因为虽然你之前插入回滚,但是 ...

  6. Spring事务总结(一) 内部调用事务失效、异常回滚

    Spring事务总结(一) 内部调用事务失效.异常回滚 参考文章: (1)Spring事务总结(一) 内部调用事务失效.异常回滚 (2)https://www.cnblogs.com/gss128/p ...

  7. Spring事务专题(四)Spring中事务的使用、抽象机制及模拟Spring事务实现

    前言 本专题大纲如下: 事务专题大纲 「对于专题大纲我又做了调整哈,主要是希望专题的内容能够更丰富,更加详细」,本来是想在源码分析的文章中附带讲一讲事务使用中的问题,这两天想了想还是单独写一篇并作为事 ...

  8. Spring中事务的使用、抽象机制及模拟Spring事务实现

    本文大纲如下: Spring事务应用大纲 编程式事务 Spring提供了两种编程式事务管理的方法 使用 TransactionTemplate 或者 TransactionalOperator. 直接 ...

  9. 事务例子_Spring事务专题(四)Spring中事务的使用、抽象机制及模拟Spring事务实现...

    Spring中事务的使用示例.属性及使用中可能出现的问题 前言 本专题大纲如下: 「对于专题大纲我又做了调整哈,主要是希望专题的内容能够更丰富,更加详细」,本来是想在源码分析的文章中附带讲一讲事务使用 ...

最新文章

  1. 设计模式5 行为模式
  2. opencv中在图片上显示文本
  3. Microsoft SQL Server Desktop Engine安装过程中遇到的问题(2)
  4. mysql select high_priority_MySQL进阶SELECT语法篇
  5. 用到f6的快捷键_让你的办公效率成倍翻得快捷键。
  6. NJUPT【电工电子基础实验】
  7. animation之二,使用xml控制animat…
  8. 12306查询车票信息返回的数据解析
  9. 我的Blog——python封装为exe的注意事项(封装exe看这一篇基本就够了)
  10. ajax打开新窗口被浏览器拦截的解决办法
  11. 接触webGl(three.js)之全景(VR)看房的实现旅程总结
  12. STM32驱动_cc2420
  13. c语言学生信息结构体录入文件,C语言—学生信息管理系统
  14. zookeeper添加ip白名单
  15. Win7 IE11、Flash插件、.NET Framework组件 安装教程
  16. C++ upper_bound()和lower_bound()(二分查找中使用)的定义,使用方法和区别
  17. vue2数据双向绑定的原理
  18. 解决win10下安装typescript后仍报“tsc不是内部或外部命令...”的问题
  19. 计算机英语单词练习二
  20. dns安全 涉及 术语

热门文章

  1. 网站index.php,网站 index of
  2. 计算机专业应该拿的几个证书
  3. webstrom主题、字体设置
  4. Eclipse + MTJ + WTK
  5. JavaScript基础三部曲(一):JavaScript简介及ECMAScript部分
  6. 前端运行项目清缓存等小技巧
  7. Redis 性能测试
  8. cocos2dx学习小结
  9. Java学习笔记2.5.3 循环结构 - 循环嵌套
  10. SpringBoot 必知必会的19个常用注解