DBCP的简单介绍:

  DBCP(DataBase Connection Pool)数据库连接池,是java数据库连接池的一种,由apache开发通过数据库连接池可以让程序自动管理数据库连接的释放和断开.

  DBCP(DataBase Connection Pool)数据库连接池,是Apache上的一个连接java连接池项目,也是tomcat使用的连接池组件.,单独使用DBCP需要2个包:commons-dbcp.jar和commons-pllo.jar.由于建立数据库连接是一个十分耗时.好资源的行为.所以通过连接池预先通数据库建立一些连接,放在内存中,,用用程序需要建立数据库连接时,直接到连接池中申请一个就行.使用完毕再放回到连接池中.

  在使用时,dbcp2和dbcp1对jdk版本的要求是不一样的.就是mysql-connector包需要使用5.0以上的.否则会报错.

  在使用dbcp时,其中有一个BasicDataSource类,使用这个类中的无参构造方法们可以实例化一个BasicDataSource对象,然后通过这个对象中的set方法和四个重要的拓展方法,进行连接数据库

连接数据库的基本参数设置:
1.setDriverClassName(String driverClassName) //数据库驱动的名称
2.setUrl(String url) //设置url参数 数据库的地址
3.setUsername(String username) //设置数据库连接用户名
4.setPassword(String password) //设置数据库连接密码 重要的拓展方法:
1.setMaxActive(int maxActive) //设置最大活动连接数
2.setInitialSize(int initialSize) //初始化连接数
3.setMaxIdle(int maxIdle) //设置最大空闲连接数
4.setMinIdle(int minIdle) //设置最小空闲连接数

name:表示你的连接池的名称也就是你要访问连接池的地址

auth:是连接池管理权属性,Container表示容器管理

type:是对象的类型

driverClassName:是数据库驱动的名称

url:是数据库的地址

username:是登陆数据库的用户名

password:是登陆数据库的密码

maxIdle,最大空闲数,数据库连接的最大空闲时间。超过空闲时间,数据库连
接将被标记为不可用,然后被释放。设为0表示无限制。 

maxActive是最大激活连接数,这里取值为20,表示同时最多有20个数据库连 
    接。maxIdle是最大的空闲连接数,这里取值为20,表示即使没有数据库连接时依然可以保持20空闲的

连接,而不被清除,随时处于待命状态。MaxWait是最大等待秒钟数,这里取值-1,表示无限等待,直到

超时为止,也可取值9000,表示9秒后超时。

MaxActive,连接池的最大数据库连接数。设为0表示无限制。

maxWait ,最大建立连接等待时间。如果超过此时间将接到异常。设为-1表示无限制。

简单的进行测试:

import org.apache.commons.dbcp2.BasicDataSource;

public class DbcpUtils {

    public BasicDataSource getDatasource(){
BasicDataSource basicDataSource = new BasicDataSource();
basicDataSource.setDriverClassName("com.mysql,jdbc.BasicDataSource");
basicDataSource.setUrl("jdbc:mysql://localhost:3306/spring?characterEncoding=utf8");
basicDataSource.setUsername("root");
basicDataSource.setPassword("root");
return basicDataSource;
}
}

测试类:

import org.apache.commons.dbcp2.BasicDataSource;
import org.junit.Test; public class MainTest { @Test
public void dbcpTest(){
DbcpUtils dbcpUtils = new DbcpUtils();
BasicDataSource datasource = dbcpUtils.getDatasource();
System.out.println(datasource);
}
}

测试结果:

DBCP数据库连接池的使用的更多相关文章

  1. 【Java EE 学习 16 上】【dbcp数据库连接池】【c3p0数据库连接池】

    一.回顾之前使用的动态代理的方式实现的数据库连接池: 代码: package day16.utils; import java.io.IOException; import java.lang.ref ...

  2. DBCP数据库连接池

    在用JDBC连接数据库的时候,需要创建对数据库的连接,这样才能执行后续的操作.然而,这样做有两个问题: 数据库允许的连接个数有限 创建连接的过程需要消耗内存和时间 所以,JDBC引入了连接池的概念.也 ...

  3. 一次项目实践中DBCP数据库连接池性能优化

    关于数据库连接池DBCP的关注源于刚刚结束的一轮测试,测试内容是衡量某Webserver服务创建用户接口的性能.这是一款典型的tomcat应用,使用的测试工具是Grinder.DBCP作为tomcat ...

  4. DBCP数据库连接池的简单使用

    0.DBCP简介      DBCP(DataBase connection pool)数据库连接池是 apache 上的一个Java连接池项目.DBCP通过连接池预先同数据库建立一些连接放在内存中( ...

  5. java基础之JDBC六:DBCP 数据库连接池简介

    我们之前写的代码中的数据库连接每次都是自己创建,用完以后自己close()销毁的,这样是很耗费资源的,所以我们引入DBCP DBCP简介 概述: Data Base Connection Pool, ...

  6. DBCP数据库连接池原理分析

    在比较大的项目中,需要不断的从数据库中获取数据,Java中则使用JDBC连接数据库,但是获取数据库的连接可是相当耗时的操作,每次连接数据库都获得 .销毁数据库连接,将是很大的一个开销.为了解决这种开销 ...

  7. DBCP数据库连接池初探

    1. 概述 数据库连接是很“宝贵的”,如果每次获取Connection都去创建数据库连接,使用之后就断开,再次使用又重新创建,程序效率是很低的.因为Socket连接的建立很消耗资源. 所以需要数据库连 ...

  8. 03_dbcp数据源依赖jar包,DBCP中API介绍,不同过dbcp方式使用dbcp数据库连接池,通过配置文件使用dbcp数据库连接池

     DBCP数据源 使用DBCP数据源,需要导入两个jar包 Commons-dbcp.jar:连接池的实现 Common-pool.jar:连接池实现的依赖库. 导入mysql的jar包. DBC ...

  9. dbcp数据库连接池的java实现

    1.准备 导入jar包 commons-dbcp-1.4.jar commons-pool-1.3.jar 数据库驱动包,如:mysql-connector-java-5.1.28-bin.jar 2 ...

随机推荐

  1. linux系统中CST与EDT时间转换

    初始时间:2012年 09月 14日 星期五 18:15:33 EDT [root@test ~]# mv /etc/localtime /etc/localtime.bak [root@test ~ ...

  2. SQL Server2008 R2 数据库镜像实施手册(双机)SQL Server2014同样适用

    这篇文章主要介绍了SQL Server2008 R2 数据库镜像实施手册(双机)SQL Server2014同样适用,需要的朋友可以参考下 一.配置主备机 1. 服务器基本信息 主机名称为:HOST_ ...

  3. .Net拾忆:HttpWebRequest/WebClient两种方式模拟Post

    一.代码 1.HttpWebRequest public static string DoPost( string target, string content ) { try { string pa ...

  4. iOS UI基础-7.0 UIScrollView

    概述 移动设备的屏幕大小是极其有限的,因此直接展示在用户眼前的内容也相当有限.当展示的内容较多,超出一个屏幕时,用户可通过滚动手势来查看屏幕以外的内容,普通的UIView不具备滚动功能,不能显示过多的 ...

  5. cocos2d-x C++ 判断当前平台宏定义大全

    /**************************************************************************** Copyright (c) 2010-201 ...

  6. LeetCode35.搜索插入位置

    给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引.如果目标值不存在于数组中,返回它将会被按顺序插入的位置. 你可以假设数组中无重复元素. 示例 1: 输入: [1,3,5,6], 5 输 ...

  7. PDO数据访问抽象层(上)

    PDO比MySQLi功能强大 PDO可以访问MySQL及其它数据库 一.造对象 <?php $dsn = "mysql:dbname = crud;host = localhost&q ...

  8. linux正则

    正则表达式 分两类:  基本正则表达式:BRE  扩展正则表达式:ERE :grep -E, egrep 正则表达式引擎:  采用不同算法,检查处理正则表达式的软件模块       PCRE(Perl ...

  9. windows启动项管理

    在运行框中输入 msconfig 选择启动栏 会跳转到任务管理器,可以管理启动项,可以看到我的启动项里有nc病毒 ,点击禁用即可.

  10. 添加Google搜索

    给自己的网站加一个搜索功能很简单,代码如下: 欢迎访问我的博客:http://67566894.iteye.com/ <form action="http://www.google.c ...