今天晚上找bug找了很久,是一个关于QueryRunner的


我找了很久都无法进行事务控制,后来我想到了数据源会产生不同的连接,从query方法点进去可以看到

继续点开
发现没有,每次都会产生一个新的连接
如果说是传入了一个连接,我们让这个连接不变,事务管理自然也可以得到实现

我们直接在传入的时候给他一个不变连接,每次用的就是一个连接
那怎么获得同一个连接呢?
ThreadLocal<>便能控制得到的连接,当前线程中有连接就直接取,不需要去创建,见下面代码

事务控制完美解决!over!

十一、总结一下今天在SpringAOP中遇到的一个坑,事务控制一直失败,自己感觉代码没错的感觉,往底层看,很明了了相关推荐

  1. php中对MYSQL操作之事务控制,回滚

    <?php //事务控制,回滚 //创建一个mysqli对象 $mysqli = new MySQLi("主机名","mysql用户名","密码 ...

  2. 记录使用 Lib.Harmony 时注入过程中遇到的一个坑

    1. 从这里开始 在一个无聊的下午,我偶然看到某个 Terraria 群里在谈论着一个叫 TerrariaHelper(自动钓鱼) 的软件,顿时有了兴致.我之前粗略研究过 FruitY(某个直接修改 ...

  3. centos7网卡编辑_CentOS7网卡命名中碰到的一个坑

    以下内容转自公众号:云技术实践(ID:kvm_virt) 环境描述: 碰到CentOS7命名机制的问题缘于测试cloudstack4.5.1版本,架构为管理节点采用cloudstack的4.5.1_E ...

  4. 我花2小时直接在这篇文章中敲出一个HTML DIV+CSS首页的所有的代码(可复制)

    用了2小时写了一套学生作业水准的网站首页,希望这篇文章和代码能让更多新手了解HTML DIV+CSS布局的方法和原理,而不是被一些人copy走从中获利-该网站的主题为<去旅行吧>,整个首页 ...

  5. python的input添加变量_在python中如何定义一个全局变量raw_input() 与 input()的区别...

    raw_input和input两个均是 python 的内建函数,通过读取控制台的输入与用户实现交互.但他们的功能不尽相同.下面举两个例子,来说明两者使用上的不同. 例子1Python 2.7.5 ( ...

  6. 责任链模式在SpringAOP中的使用

    当一个对象在一条链上被多个拦截器拦截处理时,我们这样的设计模式称为责任链模式,它用于一个对象在多个角色中传递的场景. SpringAOP就是利用动态代理和责任链模式实现的,当一个切面有多个织入时,这些 ...

  7. SpringAop中JoinPoint对象的使用方法

    JoinPoint的用法 JoinPoint 对象 JoinPoint对象封装了SpringAop中切面方法的信息,在切面方法中添加JoinPoint参数,就可以获取到封装了该方法信息的JoinPoi ...

  8. 山海演武传·黄道·第一卷 雏龙惊蛰 第十一章 天下英雄在谱中(下)

    山海演武传·黄道·第一卷 雏龙惊蛰 第十一章 天下英雄在谱中(下) "哈哈哈哈,易老夫子?!一个舞文弄墨的穷酸先生,我又怎么能与他较量?!他又怎么能与我较量?!"在熊熊烈焰的映照下 ...

  9. Java实现二十三种设计模式(五)—— 十一种行为型模式 (中)——解释器模式、迭代器模式、中介者模式、备忘录模式

    Java实现二十三种设计模式(五)-- 十一种行为型模式 (中)--解释器模式.迭代器模式.中介者模式.备忘录模式 一.解释器模式 我国 IT 界历来有一个汉语编程梦,虽然各方对于汉语编程争论不休,甚 ...

最新文章

  1. vivo自带便签新版_vivo手机笔记在哪里及如何用vivo手机做笔记?
  2. 虚拟主机众多用途你心仪哪一项?
  3. Python 爬虫笔记、多线程、xml解析、基础笔记(不定时更新)
  4. ABAP DOI详解(3)
  5. keil5安装_keil5,软件安装包及安装教程
  6. ASP.NET MVC Filter过滤机制(过滤器、拦截器)
  7. Graphviz下载 使用
  8. Object Clustering(POJ-3214)
  9. 去重 属性_赛尔原创@EMNLP2020|开放域对话系统的属性一致性识别
  10. MATLAB分子微纳模拟,FDTD/MODE/DEVICE/Interconnect 微纳光电子模拟
  11. linux下添加用户并且让用户获得root权限
  12. Linux 误删文件后恢复文件
  13. MessageFormat的用法
  14. 计算机缓存怎样更改,计算机的缓存大小在哪设置?
  15. 调用Kinect 2.0摄像头
  16. 黑客游戏Hacknet下载(游戏分享一)
  17. 数据挖掘:概念与技术笔记(一)引言
  18. 【UI设计No9】VI
  19. 解决Could not resolve XXX
  20. 正则表达式大写转小写

热门文章

  1. 为什么说C++太复杂(复杂到哪了?)
  2. 博弈论(初级)——数学知识(C++)
  3. img src 无法显示图片问题
  4. 自动生成python接口文档_Django自动生成Swagger接口文档
  5. python如何创建一个文件夹_利用Python怎么创建一个文件夹
  6. spring-retry使用以及源码
  7. 皮尔逊相关系数和检验P值
  8. 京东商城API 京东商品评论列表
  9. UE4像素流pixelstream的一些坑
  10. cmd执行调用打开文件