我有几点不太明白的,望各位大侠指教下。
1、j2ee的应用中,有一个用户请求就会启动一个线程。而如果我们把connection放在Threadlocal里的话,那么我们的程序只需要一个connection连接数据库就行了,每个线程都是用的connection的一个副本,那为什么还有必要要数据库连接池呢?
2、在这种情况下一个副本里的connection执行了关闭操作,其他都没执行。那么想问一下真正与数据库连接的connection什么时候关闭呢?
3、显然上面的第一个问题是不成立的,但是希望哪位大侠帮我解释下。解释下什么时候是从数据库连接池里取connection而什么时候获得的是connection的一个Threadlocal副本?

-------------------------------------------------------------------------------------------

由于请求中的一个事务涉及多个 DAO 操作,而这些 DAO 中的 Connection  
不能从连接池中获得,如果是从连接池获得的话,两个 DAO 就用到了两个
Connection,这样的话是没有办法完成一个事务的。

DAO 中的 Connection 如果是从 ThreadLocal 中获得 Connection 的话那
么这些 DAO 就会被纳入到同一个 Connection 之下。当然了,这样的话,
DAO 中就不能把 Connection 给关了,关掉的话,下一个使用者就不能用了。

将connection存放在Threadlocal里和数据库连接池的区别相关推荐

  1. WordPress同Kyma成功建立连接后,存放在mysql里的Kyma entry

    存储在表wp_options里: 这些属性被持久化在WordPress对应的数据库表里: 要获取更多Jerry的原创文章,请关注公众号"汪子熙":

  2. JavaWeb:JDBC之数据库连接池

    JDBC系列阅读 JavaWeb:用JDBC操作数据库 JavaWeb:JDBC之事务 JavaWeb:JDBC之数据库连接池 使用JDBC实现水果超市管理系统 1. 池参数(所有池参数都有默认值) ...

  3. JDBC学习总结(二)JDBC操作Blob类型字段高效的批量插入JDBC处理数据库事务将多个SQL看成一个事务执行数据库连接池C3P0DBCPDruidDBUtils工具类实现CRUD

    JDBC学习总结(二)JDBC操作Blob类型字段/高效的批量插入/JDBC处理数据库事务/将多个SQL看成一个事务执行/数据库连接池C3P0/DBCP/Druid/DBUtils工具类实现CRUD ...

  4. 【工具类】JDBCUtils,数据库连接池

    JDBC 概念:Java DataBase Connectivity Java 数据库连接, Java语言操作数据库 * JDBC本质:其实是官方(sun公司)定义的一套操作所有关系型数据库的规则,即 ...

  5. javaweb学习总结(三十九)——数据库连接池

    javaweb学习总结(三十九)--数据库连接池 一.应用程序直接获取数据库连接的缺点 用户每次请求都需要向数据库获得链接,而数据库创建连接通常需要消耗相对较大的资源,创建时间也较长.假设网站一天10 ...

  6. 01_数据库连接池,数据源,ResultSetMetaData,jdbc优化

     一.数据库连接池 1. 什么是连接池 传统的开发模式下,Servlet处理用户的请求,找Dao查询数据,dao会创建与数据库之间的连接,完成数据查询后会关闭数据库的链接. 这样的方式会导致用户每 ...

  7. javaweb学习总结(三十九):数据库连接池

    一.应用程序直接获取数据库连接的缺点 用户每次请求都需要向数据库获得链接,而数据库创建连接通常需要消耗相对较大的资源,创建时间也较长.假设网站一天10万访问量,数据库服务器就需要创建10万次连接,极大 ...

  8. 【JavaWeb】JDBC优化 之 数据库连接池、Spring JDBC

    1 数据库连接池 为什么要使用数据库连接池? 数据库连接是一件费时的操作,连接池可以使多个操作共享一个连接 使用连接池可以提高对数据库连接资源的管理 节约资源且高效 概念:数据库连接池其实就是一个容器 ...

  9. 【数据库连接池】数据库连接池

    目录 1.概念:存放数据库连接的容器 2.Spring JDBC : JDBC Template 代码: 1.概念:存放数据库连接的容器 1. 当系统初始化后,容器被创建,容器会申请一些连接对象,当用 ...

最新文章

  1. BERT新转变:面向视觉基础进行预训练
  2. 出问题 初始化ucosiii_STM32 ucosii 双堆栈初始化问题
  3. 用贝叶斯定理解决三门问题并用Python进行模拟(Bayes' Rule Monty Hall Problem Simulation Python)...
  4. C语言中的静态函数的作用
  5. 从客户端*****中检测到有潜在危险的 Request.Form 值。
  6. mysql数据类型支持比较运_Mysql支持的数据类型(总结)
  7. 深度学习基础(常见的网络2)
  8. linux下php模式,linux下安装php两种模式区别
  9. WordPress学习笔记(一)文章操作
  10. github里的默认域_FProbe 获取域/子域的列表,并探查工作中的http / https服务器。...
  11. mysql安装显示挂起_安装Sql Server 2000时提示“安装Sql挂起”的解决方案
  12. win10熄屏时间不对_Win10系统何如设置自动锁屏时间,教程来啦,windows10怎样设置熄屏时间...
  13. 大唐移动骨干集体出走 TD人才考验大唐
  14. 2020.7-8月份暑假培训总结
  15. redis的几种常见客户端
  16. FairMOT多目标跟踪(安装+代码解读)
  17. IMAX6ULL正点原子学习笔记(led汇编驱动)
  18. Python-裁判文书网
  19. 联想台式电脑修复计算机,联想台式机一键恢复,教您怎么使用联想电脑一键恢复...
  20. 便利贴撕页效果,隔壁产品都馋哭了

热门文章

  1. Pytorch环境安装【Python3.7+Anaconda3+CUDA10.1】
  2. 软件设计师-数据库( 分布式)
  3. 十面阿里Java程序员终拿下阿里P6offer
  4. java 多线程基础(一)
  5. nginx从0到1之参数配置
  6. 使用PowerShel导入和导出Hyper-v虚拟机
  7. JAVA 垃圾收集监控
  8. webservice发布问题,部署iis后调用不成功
  9. android 关于Uri.parse和uri.fromFile的区别
  10. 任务37:生成 JWT Token