JDBC-数据连接池的使用选读.doc

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JDBC-数据连接池的使用 数据库连接池(connection pool) 在昨天的练习中每一次练习都需要与数据库建立连接,完成时断开连接,然而当处理的数据量特别的时候,就很耗费时间、降低效率,今天我们学习使用连接池,将连接放在连接池中,需要使用的时候从中取出,使用完毕放回池中并不是断开连接。 数据库连接池的基本思想就是为数据库连接建立一个“缓冲池”。预先在缓冲池中放入一定数量的连接,当需要建立数据库连接时,只需从“缓冲池”中取出一个,使用完毕之后再放回去。 数据库连接池在初始化时将创建一定数量的数据库连接放到连接池中,这些数据库连接的数量是由最小数据库连接数来设定的。无论这些数据库连接是否被使用,连接池都将一直保证至少拥有这么多的连接数量。连接池的最大数据库连接数量限定了这个连接池能占有的最大连接数,当应用程序向连接池请求的连接数超过最大连接数量时,这些请求将被加入到等待队列中。 为解决传统开发中的数据库连接问题,可以采用数据库连接池技术。 数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是重新建立一个。 DBCP连接池 首先我们使用DBCP连接池(一个免费开源的连接池),我们需要先将commons-dbcp-1.4.jar文件放置当前工程下,并配置环境(添加到Build Path)。下面通过一个程序了解如何使用DBCP连接池: 我们在这里和之前一样需要创建一个“perties”文件,将必要的参数放入其中,其内容如下,(此文件放在当前工程下),DBCP连接池使用这个文件可以完成MySQL、Oracle的连接池的建立,但是每次只能建立一个,另一个需要注释起来。 driverClassName = com.mysql.jdbc.Driver url = jdbc:mysql://:3306/company username = root password = 123456 initialSize = 5 maxActive = 50 maxIdle = 10 #driverClassName = oracle.jdbc.driver.OracleDriver #url = jdbc:oracle:thin:@:1521:orcl #username = scott #password = tiger [java] view plain copy print?在CODE上查看代码片派生到我的代码片 package com.atguigu.jdbc; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.sql.Connection; import java.sql.SQLException; import java.util.Properties; import javax.sql.DataSource; import mons.dbcp.BasicDataSource; import mons.dbcp.BasicDataSourceFactory; import org.junit.Test; public class DBCPTest { @Test public void test2() throws Exception { Properties properties = new Properties(); properties.load(new FileInputStream(perties)); DataSource dataSource = BasicDataSourceFactory.createDataSource(properties); System.out.println(inital: + ((BasicDataSource)dataSource).getInitialSize()); System.out.println(getMaxActive: + ((BasicDataSource)dataSource).getMaxActive()); System.out.println(getMaxIdle: + ((BasicDataSource)dataSource).getMaxIdle()); Connection

文档评论(0)

502992 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档