- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
数据库连接池简介
1
在实际应用开发中,如果JSP、Servlet等使用JDBC直接访问数据库中的数据,每一次数据访问请求都必须经历建立数据库连接、操作数据和关闭数据库连接等步骤,而连接并翻开数据库是一件既消耗资源又费时的工作,如果频繁发生这种数据库操作,系统的性能必然会急剧下降,甚至会导致系统崩溃。
数据库连接池技术是解决此类问题最常用的方法。所谓数据库连接池,就是在一个虚拟的池中,预先创立好一定数量的Connection对象等待客户端的连接,当有客户端连接时,那么分配一个空闲的Connection对象给客户端连接数据库;当这个客户端请求结束时,那么将Connection对象归还给池中,用来等待下一个客户端的访问。
数据库连接池简介
工作原理:
〔1〕预定义一定数量的连接,并存放在数据库连接池中;
〔2〕当客户端请求一个数据库连接时,连接池将为该请求从数据库连接池中分配一个空闲的连接,而不是重新建立一个连接对象;当该请求结束后,该连接会重新回到数据库连接池中,而不是直接将其释放;
〔3〕当连接池中的空闲连接数量低于下限时,连接池将会根据配置信息追加一定数量的连接对象,当空闲连接数量高于上限时,连接池会释放一定数量的连接。
2
数据库连接池简介
应用程序使用数据库连接池技术具有以下优势:
创立一个新的数据库连接所消耗的时间主要取决于网络的速度以及应用程序和数据库效劳器的〔网络〕距离,而且这个过程通常是一个很耗时的过程,而采用数据库连接池后,数据库连接请求那么可以直接通过连接池满足,而不需要为该请求重新连接、认证到数据库效劳器,从而节省了时间;
提高了数据库连接的重复使用率;
解决了数据库对连接数量的限制。
在使用数据库连接池时还需要特别注意,在定义连接池的连接个数和空闲连接个数之前,开发人员必须比较准确地预先估算出连接的数量。
3
数据库连接池简介
〔1〕基于Web效劳器的数据库连接池
绝大多数Web效劳器都支持数据库连接池技术,下面以Tomcat效劳器为例配置访问MySQL数据库的数据库连接池,具体步骤如下。
第一步:在Web应用的META-INF下新建context.xml文件,配置数据源。
?xmlversion=1.0encoding=UTF-8?
Context
Resourcename=DBPool
type=javax.sql.DataSource
auth=Container
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/test
username=root
password=123
maxActive=5
maxIdle=2
maxWait=6000/
/Context
4
数据库连接池简介
方法
说明
属性名称
说明
name
设置数据源的JNDI名
type
设置数据源的类型
auth
设置数据源的管理者,有两个可选值Container和Application,Container表示由容器来创建和管理数据源,Application表示由Web应用程序来创建和管理数据源
driverClassName
设置连接数据库的JDBC驱动程序
url
设置连接数据库的路径
username
设置连接数据库的用户名
password
设置连接数据库的密码
maxActive
设置连接池中处于活动状态的数据库连接的最大数目,0表示不受限制
maxIdle
设置连接池中处于空闲状态的数据库连接的最大数目,0表示不受限制
maxWait
设置当连接池中没有处于空闲状态的连接时,请求数据库连接的请求的最长等待时间(单位为ms),如果超出该时间将抛出异常,−1表示无限期等待
5
数据库连接池简介
第二步:使用JNDI访问数据库连接池。
JDBC提供了接口,负责与数据库建立连接,在应用中无需编写连接数据库代码,便可直接从数据源〔context.xml〕中获得数据库连接。
在DataSource中预先建立了多个数据库连接,这些数据库连接保存在数据库连接池中,当程序访问数据库时,只需从连接池中取出空闲的连接,访问结束后,再将连接归还给连接池。DataSource对象由Web效劳器〔例如Tomcat〕提供,不能通过创立实例的方法来获得DataSource对象,需要利用Java的JNDI〔JavaNamingandDirectoryInterface,Java命名和目录接口〕来获得DataSource对象的引用
6
数据库连接池简介
例如:
publicstaticConnectiongetConnection()
{
try
{
文档评论(0)