将connection存放在Threadlocal里和数据库连接池的区别
我有几点不太明白的,望各位大侠指教下。
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里和数据库连接池的区别相关推荐
- WordPress同Kyma成功建立连接后,存放在mysql里的Kyma entry
存储在表wp_options里: 这些属性被持久化在WordPress对应的数据库表里: 要获取更多Jerry的原创文章,请关注公众号"汪子熙":
- JavaWeb:JDBC之数据库连接池
JDBC系列阅读 JavaWeb:用JDBC操作数据库 JavaWeb:JDBC之事务 JavaWeb:JDBC之数据库连接池 使用JDBC实现水果超市管理系统 1. 池参数(所有池参数都有默认值) ...
- JDBC学习总结(二)JDBC操作Blob类型字段高效的批量插入JDBC处理数据库事务将多个SQL看成一个事务执行数据库连接池C3P0DBCPDruidDBUtils工具类实现CRUD
JDBC学习总结(二)JDBC操作Blob类型字段/高效的批量插入/JDBC处理数据库事务/将多个SQL看成一个事务执行/数据库连接池C3P0/DBCP/Druid/DBUtils工具类实现CRUD ...
- 【工具类】JDBCUtils,数据库连接池
JDBC 概念:Java DataBase Connectivity Java 数据库连接, Java语言操作数据库 * JDBC本质:其实是官方(sun公司)定义的一套操作所有关系型数据库的规则,即 ...
- javaweb学习总结(三十九)——数据库连接池
javaweb学习总结(三十九)--数据库连接池 一.应用程序直接获取数据库连接的缺点 用户每次请求都需要向数据库获得链接,而数据库创建连接通常需要消耗相对较大的资源,创建时间也较长.假设网站一天10 ...
- 01_数据库连接池,数据源,ResultSetMetaData,jdbc优化
一.数据库连接池 1. 什么是连接池 传统的开发模式下,Servlet处理用户的请求,找Dao查询数据,dao会创建与数据库之间的连接,完成数据查询后会关闭数据库的链接. 这样的方式会导致用户每 ...
- javaweb学习总结(三十九):数据库连接池
一.应用程序直接获取数据库连接的缺点 用户每次请求都需要向数据库获得链接,而数据库创建连接通常需要消耗相对较大的资源,创建时间也较长.假设网站一天10万访问量,数据库服务器就需要创建10万次连接,极大 ...
- 【JavaWeb】JDBC优化 之 数据库连接池、Spring JDBC
1 数据库连接池 为什么要使用数据库连接池? 数据库连接是一件费时的操作,连接池可以使多个操作共享一个连接 使用连接池可以提高对数据库连接资源的管理 节约资源且高效 概念:数据库连接池其实就是一个容器 ...
- 【数据库连接池】数据库连接池
目录 1.概念:存放数据库连接的容器 2.Spring JDBC : JDBC Template 代码: 1.概念:存放数据库连接的容器 1. 当系统初始化后,容器被创建,容器会申请一些连接对象,当用 ...
最新文章
- BERT新转变:面向视觉基础进行预训练
- 出问题 初始化ucosiii_STM32 ucosii 双堆栈初始化问题
- 用贝叶斯定理解决三门问题并用Python进行模拟(Bayes' Rule Monty Hall Problem Simulation Python)...
- C语言中的静态函数的作用
- 从客户端*****中检测到有潜在危险的 Request.Form 值。
- mysql数据类型支持比较运_Mysql支持的数据类型(总结)
- 深度学习基础(常见的网络2)
- linux下php模式,linux下安装php两种模式区别
- WordPress学习笔记(一)文章操作
- github里的默认域_FProbe 获取域/子域的列表,并探查工作中的http / https服务器。...
- mysql安装显示挂起_安装Sql Server 2000时提示“安装Sql挂起”的解决方案
- win10熄屏时间不对_Win10系统何如设置自动锁屏时间,教程来啦,windows10怎样设置熄屏时间...
- 大唐移动骨干集体出走 TD人才考验大唐
- 2020.7-8月份暑假培训总结
- redis的几种常见客户端
- FairMOT多目标跟踪(安装+代码解读)
- IMAX6ULL正点原子学习笔记(led汇编驱动)
- Python-裁判文书网
- 联想台式电脑修复计算机,联想台式机一键恢复,教您怎么使用联想电脑一键恢复...
- 便利贴撕页效果,隔壁产品都馋哭了