数据库连接池的一些疑问

当我创建一个全局的数据库连接和创建多个局部的数据库连接有啥区别?如果是多线程访问数据库一定要用数据库连接池吗,对于数据库连接池刚学还不理解,数据库连接池定义最少连接后,为什么会在里边创建连接,创建的是什么连接,是系统定义的数据库吗?数据库连接池到底连接上那个数据库呢?

(1)全局的数据库连接和创建多个局部的数据库连接有啥区别?

只是范围不一样,,跟变量的scope一样,,request内有效,还是session内有效,,
其次是,生存时间问题,生存时间越长,,是不是越占资源。

(2)如果是多线程访问数据库一定要用数据库连接池吗,,,,,,不一定,,你先了解一下什么是“池”
之前写的一篇博客:http://blog.csdn.net/small_mouse0/article/details/76806285

(3)数据库连接池定义最少连接后,为什么会在里边创建连接,创建的是什么连接,是系统定义的数据库吗
一个数据库可一允许有多个连接,,链接的数据库是同一个数据库。

(4)数据库连接池到底连接上那个数据库呢?,,,连接的是同一个数据库
池,,知识为了方便,,才做的一种机制,,一般情况下里面的连接都一样
(比如,一个Arraylist中存放了,多个相同的连接,这多个连接互不影响)

有问题还可以追问,,如果能帮到你请采纳^.^

1.一般连接池不做全局和局部之类定义下的划分,这个涉及到一个对“全局”观念的理解问题,全局指的是整个项目运行周期中都可以使用同一个类(类比单例模式,虽有不同),这样的类生存周期是application,但生存周期为application的类不一定是全局变量(可能只是一个私有属性)。我感觉题主应该是说,项目是只使用一个连接池对象还是使用多个连接池对象的问题,同一数据源时,本质上使用几个连接池都可以,只要能保证程序的正确性。但从精简角度来讲,将类的功能单一化和抽象化 是针对整个项目而言的,一个类能做的事情,何必分给多个类来完成,造成管理上的困难呢。如果是不同数据源时,连接池是需要分开的,毕竟所包含的连接不一样(不讨论广义的数据库连接服务种类情况),这些都是从项目资源的管控角度来讲的。另外针对于另一个答案,生存周期和占用资源没有本质关联,占用资源只取决于类本身的功能定义(没有恶意,只是指出一下错误)
2.多线程访问和使用连接池没有关系,你也可以每次都新建连接(就像你这个时候也有一个池,但里面连接都是0个,每次新建,新建是一个很消耗资源的过程)。连接池的出现就是管控了这些资源,来达到一个比较好的使用效果,核心还是围绕着资源的管控
3.创建的连接,就是jdbc的连接,这个没有什么花哨的,至于是哪个数据库,是根据项目自己的配置来的(题主这一块可能比较薄弱,刚开始接触可以多了解下)
只是路过回答一下