数据库连接池(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/ ...
随机推荐
- CSS 编码规范
转自: https://segmentfault.com/a/1190000005046830 CSS书写格式 1.格式化代码 1.1文件 [建议]:CSS文件使用无BOM的UTF-8编码 1.2缩进 ...
- HTTP报文
HTTP报文分为请求报文(request message)与响应报文(response message). 一.报文的组成部分 一个HTTP报文由3部分组成,分别是: (1).起始行(start li ...
- python 安装扩展库
直接使用pip安装时非常慢,而且还非常容易失败.通过在网上查找,发现可以使用镜像安装,如下: pip install xxx -i http://pypi.douban.com/simple/ 但是在 ...
- java中HashSet详解(转)
HashSet 的实现 对于 HashSet 而言,它是基于 HashMap 实现的,HashSet 底层采用 HashMap 来保存所有元素,因此 HashSet 的实现比较简单,查看 HashSe ...
- 转:python webdriver API 之调用 JavaScript
当 webdriver 遇到没法完成的操作时,笔者可以考虑借用 JavaScript 来完成,比下下面的例子,通过 JavaScript 来隐藏页面上的元素.除了完成 webdriver 无法完成的操 ...
- csuoj 1022: 菜鸟和大牛
http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1022 1022: 菜鸟和大牛 Time Limit: 1 Sec Memory Limit: 1 ...
- C++新手之培养良好的编程风格
内功深厚的武林高手出招往往平淡无奇.同理,编程高手也不会用奇门怪招写程序.良好的编程风格是产生高质量程序的前提. 下面以C++为例,来给大家介绍. 一. 命名约定 有不少人编程时用拼音给函数或变量命名 ...
- yii框架中保存第三方登录信息
(第三方登录) 创建应用,域名,详情请看:http://www.cnblogs.com/xujn/p/5287157.html 效果图:
- 数据库中is null(is not null)与=null(!=null)的区别
在标准SQL语言(ANIS SQL)SQL-92规定的Null值的比较取值结果都为False,既Null=Null取值也是False.NULL在这里是一种未知值,千变万化的变量,不是“空”这一个定值! ...
- sql 通过游标 拆分xml结构
-----------------------定义游标变量------------------------------------------ DECLARE @propertyid INT D ...