数据库连接池(DBCP:为数据统一建立一个缓冲池,现在企业开发使用)
数据库连接池:(里面放了许多连接数据的链接,负责分配,管理,释放数据库连接,可重复使用连接,而不新建 )为数据统一连接建立一个缓冲池,放好了一定数据库连接,使用时在缓冲池里面拿,用完之后再还给缓冲池,再使用时,不需要新建;
三个架包
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:为数据统一建立一个缓冲池,现在企业开发使用)的更多相关文章
- [数据库连接池] Java数据库连接池--DBCP浅析.
前言对于数据库连接池, 想必大家都已经不再陌生, 这里仅仅设计Java中的两个常用数据库连接池: DBCP和C3P0(后续会更新). 一. 为何要使用数据库连接池假设网站一天有很大的访问量,数据库服务 ...
- 数据库连接池dbcp基本配置
DBCP(DataBase connection pool),数据库连接池.是 apache 上的一个 java 连接池项目,也是 tomcat 使用的连接池组件.单独使用dbcp需要2个包: com ...
- 常用数据库连接池 (DBCP、c3p0、Druid) 配置说明
1. 引言 1.1 定义 数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出.对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标.数据库 ...
- java常用数据库连接池 (DBCP、c3p0、Druid) 配置说明
1. 引言 1.1 定义 数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出.对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标.数据库 ...
- DataSource - 常用数据库连接池 (DBCP、c3p0、Druid) 配置说明
1. 引言 1.1 定义 数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出.对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标.数据库 ...
- 常用数据库连接池 (DBCP、c3p0、Druid) 配置说明.RP
1. 引言 1.1 定义 数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出.对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标.数据库 ...
- 常用数据库连接池 (DBCP、c3p0、Druid) 配置说明(转)
1. 引言 1.1 定义 数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出.对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标.数据库 ...
- JDBC学习笔记(8)——数据库连接池(dbcp&C3P0)
JDBC数据库连接池的必要性 一.在使用开发基于数据库的web程序时,传统的模式基本是按一下步骤: 1)在主程序(如servlet/beans)中建立数据库连接 2)进行sql操作 3)断开数据库连接 ...
- 【转】JDBC学习笔记(8)——数据库连接池(dbcp&C3P0)
转自:http://www.cnblogs.com/ysw-go/ JDBC数据库连接池的必要性 一.在使用开发基于数据库的web程序时,传统的模式基本是按一下步骤: 1)在主程序(如servlet/ ...
随机推荐
- MongoDB(一):安装
安装 从度娘上搜索MongoDB,找到官网地址:https://www.mongodb.com 找到下载中心地址:https://www.mongodb.com/download-center 我下载 ...
- object_id的用法
OBJECT_ID: 返回数据库对象标识号. 语法 OBJECT_ID ( 'object' ) 参数 'object' 要使用的对象.object 的数据类型为 char 或 nchar.如果 ob ...
- 当As3遇见Swift(二)
字符串:String 都是用String来表示,都是值类型,在传递过程中都会进行拷贝. 计算字符数量 As3: str.length Swift: countElements(str) 数组:Arra ...
- SpringMVC注解@RequestParam全面解析
在SpringMVC后台控制层获取参数的方式主要有两种,一种是request.getParameter("name"),另外一种是用注解@RequestParam直接获取.这里主要 ...
- C++Builder 笔记
1.界面窗口如何不显示标题栏? 在Form属性栏里面把BorderStyle的值设为None 2.wchar_t wchar_t是C/C++的字符类型,是一种扩展的存储方式,wchar_t类型主要用在 ...
- EBS登陆链接网址
SELECT home_url FROM icx_parameters; SELECT profile_option_value FROM fnd_profile_option_values WHER ...
- 重要的事情说三遍:列表 ul / ol 等是块级元素,是块级元素,块级元素
HTML 块级元素 大多数 HTML 元素被定义为块级元素或内联元素. 编者注:“块级元素”译为 block level element,“行内元素”译为 inline element. 块级元素在浏 ...
- Openstack的计算节点的nova-network异常中止及实例无法删除排错过程
在预生产环境(172.17.46.2)发现无法删除实例,可以对实例做暂停,恢复操作. 查询原因发现计算节点的nova-network异常 [root@node-12 ~]# /etc/init.d/o ...
- UIImageView(转)
UIImageView,顾名思义,是用来放置图片的.使用Interface Builder设计界面时,当然可以直接将控件拖进去并设置相关属性,这就不说了,这里讲的是用代码. 1.创建一个UIImage ...
- setInterval 实时驱动界面改变
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...