- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
- 2016数据库原理实验指导书选读.doc
- 2016陕西专业技术人员潜能激活与创造力开发试题及答案整理全选读.doc
- IT基础设施集中管理平台使用说明书选读.doc
- 2016隧道质量缺陷整治方案选读.doc
- 2016武汉英博教育高考作文实用素材集锦艺术生文化课选读.doc
- JA-968C门禁机说明书选读.doc
- 2016物理中考分类解析声现象选读.doc
- I甘肃S227头寨子至渭源公路段改建工程施工组织设计施工组织设计选读.doc
- 2016物理中考知识清单选读.doc
- Java8CompletableFuture详解选读.doc
- 上海海洋大学《海洋环境分析技术》课件-21化学发光分析法.pdf
- 上海海洋大学《海洋环境分析技术》课件-20分子荧光分析法.pdf
- 上海海洋大学《海洋环境分析技术》课件-22色谱分离过程.pdf
- 上海海洋大学《海洋环境分析技术》课件-25气相色谱仪与固定液.pdf
- 上海海洋大学《海洋环境分析技术》课件-24色谱定性定量方法.pdf
- 上海海洋大学《海洋环境分析技术》课件-26气相色谱检测器.pdf
- 上海海洋大学《海洋环境分析技术》课件-29液相色谱固定相与流动相.pdf
- 上海海洋大学《海洋环境分析技术》课件-27气相色谱分离条件的选择.pdf
- 上海海洋大学《海洋环境分析技术》课件-28液相色谱仪器与类型.pdf
- 上海海洋大学《海洋环境分析技术》课件-3 原子光谱和分析光谱.pdf
文档评论(0)