DBCP数据库连接池的使用
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数据库连接池的使用的更多相关文章
- 【Java EE 学习 16 上】【dbcp数据库连接池】【c3p0数据库连接池】
一.回顾之前使用的动态代理的方式实现的数据库连接池: 代码: package day16.utils; import java.io.IOException; import java.lang.ref ...
- DBCP数据库连接池
在用JDBC连接数据库的时候,需要创建对数据库的连接,这样才能执行后续的操作.然而,这样做有两个问题: 数据库允许的连接个数有限 创建连接的过程需要消耗内存和时间 所以,JDBC引入了连接池的概念.也 ...
- 一次项目实践中DBCP数据库连接池性能优化
关于数据库连接池DBCP的关注源于刚刚结束的一轮测试,测试内容是衡量某Webserver服务创建用户接口的性能.这是一款典型的tomcat应用,使用的测试工具是Grinder.DBCP作为tomcat ...
- DBCP数据库连接池的简单使用
0.DBCP简介 DBCP(DataBase connection pool)数据库连接池是 apache 上的一个Java连接池项目.DBCP通过连接池预先同数据库建立一些连接放在内存中( ...
- java基础之JDBC六:DBCP 数据库连接池简介
我们之前写的代码中的数据库连接每次都是自己创建,用完以后自己close()销毁的,这样是很耗费资源的,所以我们引入DBCP DBCP简介 概述: Data Base Connection Pool, ...
- DBCP数据库连接池原理分析
在比较大的项目中,需要不断的从数据库中获取数据,Java中则使用JDBC连接数据库,但是获取数据库的连接可是相当耗时的操作,每次连接数据库都获得 .销毁数据库连接,将是很大的一个开销.为了解决这种开销 ...
- DBCP数据库连接池初探
1. 概述 数据库连接是很“宝贵的”,如果每次获取Connection都去创建数据库连接,使用之后就断开,再次使用又重新创建,程序效率是很低的.因为Socket连接的建立很消耗资源. 所以需要数据库连 ...
- 03_dbcp数据源依赖jar包,DBCP中API介绍,不同过dbcp方式使用dbcp数据库连接池,通过配置文件使用dbcp数据库连接池
DBCP数据源 使用DBCP数据源,需要导入两个jar包 Commons-dbcp.jar:连接池的实现 Common-pool.jar:连接池实现的依赖库. 导入mysql的jar包. DBC ...
- dbcp数据库连接池的java实现
1.准备 导入jar包 commons-dbcp-1.4.jar commons-pool-1.3.jar 数据库驱动包,如:mysql-connector-java-5.1.28-bin.jar 2 ...
随机推荐
- (转)SpringBoot之退出服务(exit)时调用自定义的销毁方法
我们在工作中有时候可能会遇到这样场景,需要在退出容器的时候执行某些操作.SpringBoot中有两种方法可以供我们来选择(其实就是spring中我们常用的方式.只是destory-method是在XM ...
- 如何解决gerrit代码冲突
日常开发中,我们存在多人开发和同一个人提交多次记录的情况,这就避免不了代码冲突的情况出现. 下面介绍几种gerrit提交失败的现象,后续会根据大家遇到的情况,持续更新. 注意:出现合入不了,显示“ca ...
- python string method
嗯,学习其它语言没这样全练过,嘻嘻 //test.py 1 # -*- coding: UTF-8 -*- 2 3 str = "i am worker" 4 print str. ...
- iOS UI调试神器,插件injection for Xcode使用方法
项目越来越大,代码编译时间越来越长,你是不是早已经厌倦了改一点点UI布局就要重新编译一次项目的过程,我们一分钟几百万上下的,怎能被编译浪费掉珍贵的时间.使用injectionforxcode这款插件, ...
- cocos2d JS 创建实现换行功能的聊天文本 testLable
-- 创建实现换行功能的文本 function LoadLabelHeroIntroduce(objLabelContent) //传入文本 ---------------------------- ...
- Hibernate框架的第四天
## Hibernate框架的第四天 ## ---------- **回顾:Hibernate框架的第三天** 1. 一对多关联关系映射 * JavaBean的编写 * 编写映射的配置文件 * 使用级 ...
- CSS3 transition-timing-function 深入理解和技巧
基础 语法: transition-timing-function : ease | linear | ease-in | ease-out | ease-in-out | cubic-bezier( ...
- ob
可以利用ob_get_contens生成静态页面,应用场景 后台生成商品的时候 可以生成对应的前台页面,其他页面直接调用. $result = $goods->create(); if ($re ...
- PHP 中最全的设计模式(23种)
https://my.oschina.net/botkenni/blog/1603660 PHP 中最全的设计模式(23种) 原 botkenni 发布于 01/07 21:22 字数 8726 阅读 ...
- c# webapi 跳转
c# webapi 跳转 public HttpResponseMessage Post() { // ... do the job // now redirect Http ...