数据库连接池原理与Tomcat配置介绍.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

为什么使用数据源和连接池

我们现在开发的应用程序,基本上都是基于数据的,而且是需要频繁的连接数据库的。如

果每次操作都连接数据库,然后关闭,这样做性能一定会受限。所以,要想办法复用

数据库的连接。因此针对这种情况,提出了数据源和连接池的概念。使用数据源和连接池可以

达到复用数据库连接的目的。

数据源和连接池概念

其实,数据源和连接池是两个不同的概念。有些人会把它们弄混。

数据源是用来连接数据库,获得Connection对象的,在Java中使用javax.sql.DataSource

接口来表示。有了数据源,我们就不需要再编写其他连接数据的代码,直接从数据源获得连接

就可以了。而且,不管使用什么样的数据库,都使用一样的方式获得数据库连接对象。那么数

据源的对象是如何获得的呢?一般是由容器来创建的,我们在程序中使用JNDI来获取。通过数

据源创建的连接对象可以被自动放入连接池中统一管理。

连接池是用来管理Connection对象的,连接池可以从数据源中获得连接,连接池中可以有若

干个数据库连接对象,这些连接对象可以被重用。应用程序需要连接时,就向连接池申请,如

果连接池中有空闲的连接,就会分配给应用程序,如果没有,可能就需要在等待队列里等待。而

如果从连接池中获得了接对象,等到使用完毕,通过调用Connection的close()方

法,就可以将连接还给连接池,这样这个连接对象就又编程空闲的了,可以等待下一次请求。而

连接池中的连接对象将一直保持与数据库的连接,这样,就避免了频繁的连接和关闭。但是,这

些连接对象会占用一定的内存空间。所以,我们要根据数据库的并发量,和服务器的硬件

条件来决定连接池中的最大连接数。

数据源和连接池,一个是用来创建连接对象的,一个是用来管理连接对象的。

在Tomcat中配置数据源

了解了什么是数据源和连接池,那接下来就学习如何使用Tomcat来配置数据源,以及如何

在程序中使用数据源。

在Tomcat中使用数据源的步骤如下:

(1)在Tomcat中加入数据库驱动文件

(2)配置Tomcat的conf/context.xml

Context

Resourcename=jdbc/books

auth=Containertype=javax.sql.DataSourcemaxActive=100

为什么使用数据源和连接池

我们现在开发的应用程序,基本上都是基于数据的,而且是需要连接数据库的。如果每次操作

都连接数据库,然后关闭,这样的性能一定会设定。所以,会实现恢复数据库的连接。针

对这种情况,提出了数据源和连接池间隙使用的概念。数据源和连接池可以达到恢复数据库连接的

目的。

数据源和连接池概念

其实,数据源和连接池是两个不同的概念。有些人会把它们弄混。

数据源是用来连接数据库,获取连接对象的,在Java中使用javax.sql.DataSource接口

来表示。有了数据源,我们就不需要再编写其他连接数据的代码,直接从数据源获取连接就了。

而且,不管使用哪种数据库,都使用同样的方式获取数据库连接对象。那么数个JNDI来获取。

通过数据源的对象是如何获取的呢根据创建源的连接对象可以被自动放入连接池中统一管理。

连接连接池是用来管理连接几个数据库连接对象的,这些连接对象可以被重用。应用程序

连接时,就向连接池申请,如果连接池中有空闲的连接,就分配给应用程序,如果没有,可能

就需要在等待队列里等待。连接的close()如果从连接池中需要获得了接对象方法,就可

以将连接还给连接池,这样这个连接对象就又编程空闲的了,可以等待下一次请求。而连接池

中的连接对象将一直保持与数据库的连接,这样,就避免了间歇的连接和关闭。但是,这些连

接对象会占用一定的内存空间。所以,我们要根据数据库的

文档评论(0)

wccebooks + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档