数据库连接池:(里面放了许多连接数据的链接,负责分配,管理,释放数据库连接,可重复使用连接,而不新建  )为数据统一连接建立一个缓冲池,放好了一定数据库连接,使用时在缓冲池里面拿,用完之后再还给缓冲池,再使用时,不需要新建;

三个架包

mysql-connector-java-jar

commons-dbcp-1.4jar

commons-pool-1.5.5jar 导进去

---------------------------------------------------------------------------------------

基本方法:

/*
* DBCP数据源:需要使用架包dbcp.jar
*1.加入jar包,依赖于Commons Pool这个架包
*2.创建数据库连接池
*3.设置了常用的属性
*4.从数据源中获取数据库的连接
* */

//第一种方法:

public void testDBCP() throws SQLException{
BasicDataSource dataSource=null;

//1. 创建DBCP数据源实例
dataSource=new BasicDataSource();

//2.为数据源实例指定必须的属性
//driver=com.mysql.jdbc.Driver
//jdbcUrl=jdbc:mysql://localhost:3306/lxn

dataSource.setUsername("root");
dataSource.setPassword("lxn123");
dataSource.setUrl("jdbc:mysql://localhost:3306/lxn");
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
System.out.println(dataSource.getUsername());

//指定数据源的一些可选的属性

dataSource.setInitialSize(10);//指定数据库连接池中初始化连接的个数

dataSource.setMaxActive(50);//指定最大的连接数:同一时刻可以向数据库同时申请的连接数

dataSource.setMinIdle(10);//指定最小连接数:在数据库连接池空闲状态下,在连接池中最少连接数

dataSource.setMaxWait(1000*5);//等待数据库连接池分配连接最长时间,单位为毫秒,超出时间,抛出异常

//3.从数据源中获取连接
Connection connection=dataSource.getConnection();
System.out.println(connection);
}

----------------------------------------------------------------------------------------

第二种方法获取连接:

在src目录下建立:dbcp文件

driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/lxn
username=root
password=lxn123

initialSize=10
maxActive=50
minIdle=5
maxWait=5000

方法:

/*
* 1.加载dbcp.properties配置文件,配置文件中的建需要来自BasicDataSource的属性
* 2.调用BasicDataSourceFactory的createDataSource方法创建DataSource实例
* 3.从DataSource实例中获取数据库的连接
*
* */

public Connection testDBCPWithDataSourceFactlory() throws Exception{

Properties properties=new Properties();
InputStream in=
TestJDBC.class.getClassLoader().getResourceAsStream("dbcp.properties");
properties.load(in);

DataSource dataSource=BasicDataSourceFactory.createDataSource(properties);
Connection connection=dataSource.getConnection();
System.out.println(connection);

BasicDataSource basicDataSource=(BasicDataSource)dataSource;

System.out.println(basicDataSource.getMaxWait());

reture connection;
}

------------------------------------------------------------------------------

import java.io.InputStream;
import java.sql.Connection;
import java.util.Properties;

import javax.sql.DataSource;

import org.apache.commons.dbcp.BasicDataSource;
import org.apache.commons.dbcp.BasicDataSourceFactory;
import org.junit.Test;

import导的包,导错会出现异常

数据库连接池(DBCP:为数据统一建立一个缓冲池,现在企业开发使用)的更多相关文章

  1. [数据库连接池] Java数据库连接池--DBCP浅析.

    前言对于数据库连接池, 想必大家都已经不再陌生, 这里仅仅设计Java中的两个常用数据库连接池: DBCP和C3P0(后续会更新). 一. 为何要使用数据库连接池假设网站一天有很大的访问量,数据库服务 ...

  2. 数据库连接池dbcp基本配置

    DBCP(DataBase connection pool),数据库连接池.是 apache 上的一个 java 连接池项目,也是 tomcat 使用的连接池组件.单独使用dbcp需要2个包: com ...

  3. 常用数据库连接池 (DBCP、c3p0、Druid) 配置说明

    1. 引言 1.1 定义 数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出.对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标.数据库 ...

  4. java常用数据库连接池 (DBCP、c3p0、Druid) 配置说明

    1. 引言 1.1 定义 数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出.对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标.数据库 ...

  5. DataSource - 常用数据库连接池 (DBCP、c3p0、Druid) 配置说明

    1. 引言 1.1 定义 数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出.对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标.数据库 ...

  6. 常用数据库连接池 (DBCP、c3p0、Druid) 配置说明.RP

    1. 引言 1.1 定义 数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出.对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标.数据库 ...

  7. 常用数据库连接池 (DBCP、c3p0、Druid) 配置说明(转)

    1. 引言 1.1 定义 数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出.对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标.数据库 ...

  8. JDBC学习笔记(8)——数据库连接池(dbcp&C3P0)

    JDBC数据库连接池的必要性 一.在使用开发基于数据库的web程序时,传统的模式基本是按一下步骤: 1)在主程序(如servlet/beans)中建立数据库连接 2)进行sql操作 3)断开数据库连接 ...

  9. 【转】JDBC学习笔记(8)——数据库连接池(dbcp&C3P0)

    转自:http://www.cnblogs.com/ysw-go/ JDBC数据库连接池的必要性 一.在使用开发基于数据库的web程序时,传统的模式基本是按一下步骤: 1)在主程序(如servlet/ ...

随机推荐

  1. MongoDB(一):安装

    安装 从度娘上搜索MongoDB,找到官网地址:https://www.mongodb.com 找到下载中心地址:https://www.mongodb.com/download-center 我下载 ...

  2. object_id的用法

    OBJECT_ID: 返回数据库对象标识号. 语法 OBJECT_ID ( 'object' ) 参数 'object' 要使用的对象.object 的数据类型为 char 或 nchar.如果 ob ...

  3. 当As3遇见Swift(二)

    字符串:String 都是用String来表示,都是值类型,在传递过程中都会进行拷贝. 计算字符数量 As3: str.length Swift: countElements(str) 数组:Arra ...

  4. SpringMVC注解@RequestParam全面解析

    在SpringMVC后台控制层获取参数的方式主要有两种,一种是request.getParameter("name"),另外一种是用注解@RequestParam直接获取.这里主要 ...

  5. C++Builder 笔记

    1.界面窗口如何不显示标题栏? 在Form属性栏里面把BorderStyle的值设为None 2.wchar_t wchar_t是C/C++的字符类型,是一种扩展的存储方式,wchar_t类型主要用在 ...

  6. EBS登陆链接网址

    SELECT home_url FROM icx_parameters; SELECT profile_option_value FROM fnd_profile_option_values WHER ...

  7. 重要的事情说三遍:列表 ul / ol 等是块级元素,是块级元素,块级元素

    HTML 块级元素 大多数 HTML 元素被定义为块级元素或内联元素. 编者注:“块级元素”译为 block level element,“行内元素”译为 inline element. 块级元素在浏 ...

  8. Openstack的计算节点的nova-network异常中止及实例无法删除排错过程

    在预生产环境(172.17.46.2)发现无法删除实例,可以对实例做暂停,恢复操作. 查询原因发现计算节点的nova-network异常 [root@node-12 ~]# /etc/init.d/o ...

  9. UIImageView(转)

    UIImageView,顾名思义,是用来放置图片的.使用Interface Builder设计界面时,当然可以直接将控件拖进去并设置相关属性,这就不说了,这里讲的是用代码. 1.创建一个UIImage ...

  10. setInterval 实时驱动界面改变

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...