dbcp数据源连接池
一.数据源连接池

/**
* 在main方法中使用dbcp获取数据库连接对象
*/
public class Test01 {
public static void main(String[] args) throws SQLException {
//创建连接池对象
BasicDataSource dataSource = new BasicDataSource();
//设置数据库的驱动(必选参数)
dataSource.setDriverClassName("oracle.jdbc.driver.OracleDriver");
//设置数据库连接url(必选参数)
dataSource.setUrl("jdbc:oracle:thin:@localhost:1521:orcl");
//设置数据库连接的用户名(必选参数)
dataSource.setUsername("scott");
//设置数据库连接的密码(必选参数)
dataSource.setPassword("tiger");
//设置数据源连接池初始化连接数量
dataSource.setInitialSize(5);
//设置数据源连接池允许的最大连接数量
dataSource.setMaxTotal(8);
//设置数据源连接池最大空闲连接数量
dataSource.setMaxIdle(6);
//设置数据源连接池最小空闲连接数量
dataSource.setMinIdle(3);
//当数据源连接池连接已被用尽的时候,下一个要链接用户的最大等待时间 单位是毫秒 默认值是-1,是永远等待
dataSource.setMaxWaitMillis(5000L);
//获取数据库连接
Connection conn1 = dataSource.getConnection();
System.out.println(conn1);
System.out.println("连接池已经激活的连接数量:"+dataSource.getNumActive());
System.out.println("连接池空闲连接数量:"+dataSource.getNumIdle());
}
}

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<!--创建dbcp数据源连接池对象-->
<bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource">
<!--驱动名-->
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"></property>
<!--url-->
<property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"></property>
<!--用户名-->
<property name="username" value="scott"></property>
<!--密码-->
<property name="password" value="tiger"></property>
<!--初始化连接数量-->
<property name="initialSize" value="5"></property>
<!--最大连接数量-->
<property name="maxTotal" value="8"></property>
<!--最大空闲连接数量-->
<property name="maxIdle" value="6"></property>
<!--最小空闲连接数量-->
<property name="minIdle" value="3"></property>
<!--连接等待的最大时间 -->
<property name="maxWaitMillis" value="5000"></property>
</bean>
</beans>
public class Test01 {
public static void main(String[] args)throws Exception {
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
BasicDataSource dataSource = (BasicDataSource)context.getBean("dataSource");
Connection con1 = dataSource.getConnection();
Connection con2 = dataSource.getConnection();
System.out.println("激活的连接数量:"+dataSource.getNumActive());
System.out.println("空闲连接数量:"+dataSource.getNumIdle());
}
}
dbcp数据源连接池的更多相关文章
- DBCP数据源连接池实现原理分析
前些天在调试公司系统的时候发现这样的一个问题:mysql数据库服务停止一段时间后再次重启后吗,tomcat服务无法请求数据库服务,调试了半天对这个问题进行定位解决,期间也搞了很多有关mysql数据库的 ...
- JavaWeb之数据源连接池(1)---DBCP
何为数据源呢?也就是数据的来源.我在前面的一篇文章<JavaWeb之原生数据库连接>中,采用了mysql数据库,数据来源于mysql,那么mysql就是一种数据源.在实际工作中,除了mys ...
- JDBC数据源连接池(3)---Tomcat集成DBCP
此文续<JDBC数据源连接池(2)---C3P0>. Apache Tomcat作为一款JavaWeb服务器,内置了DBCP数据源连接池.在使用中,只要进行相应配置即可. 首先,确保Web ...
- JDBC数据源连接池(1)---DBCP
何为数据源呢?也就是数据的来源.我在前面的一篇文章<JDBC原生数据库连接>中,采用了mysql数据库,数据来源于mysql,那么mysql就是一种数据源.在实际工作中,除了mysql,往 ...
- JavaWeb之数据源连接池(3)---Tomcat
此文续 <JavaWeb之数据源连接池(2)---C3P0>. Apache Tomcat作为一款JavaWeb服务器,内置了DBCP数据源连接池.在使用中,只要进行相应配置即可. 首先, ...
- JavaWeb之数据源连接池(4)---自定义数据源连接池
[续上文<JavaWeb之数据源连接池(3)---Tomcat>] 我们已经 了解了DBCP,C3P0,以及Tomcat内置的数据源连接池,那么,这些数据源连接池是如何实现的呢?为了究其原 ...
- JavaWeb之数据源连接池(2)---C3P0
我们接着<JavaWeb之数据源连接池(1)---DBCP>继续介绍数据源连接池. 首先,在Web项目的WebContent--->WEB-INF--->lib文件夹中添加C3 ...
- JDBC数据源连接池(4)---自定义数据源连接池
[续上文<JDBC数据源连接池(3)---Tomcat集成DBCP>] 我们已经 了解了DBCP,C3P0,以及Tomcat内置的数据源连接池,那么,这些数据源连接池是如何实现的呢?为了究 ...
- JDBC数据源连接池(2)---C3P0
我们接着<JDBC数据源连接池(1)---DBCP>继续介绍数据源连接池. 首先,在Web项目的WebContent--->WEB-INF--->lib文件夹中添加C3P0的j ...
随机推荐
- [译]谈谈SpringBoot 事件机制
要"监听"事件,我们总是可以将"监听器"作为事件源中的另一个方法写入事件,但这将使事件源与监听器的逻辑紧密耦合. 对于实际事件,我们比直接方法调用更灵活.我们可 ...
- python之pymysql库连接mysql实现增、删、改、查
安装第三方库pymysql 命令行cmd下通过pip install pymysql进行安装,安装完成后自行pip list可查看对应的版本信息 建立连接 1 #导入pymysql库 2 import ...
- Thymeleaf+SpringBoot+Mybatis实现的齐贤易游网旅游信息管理系统
项目简介 项目来源于:https://github.com/liuyongfei-1998/root 本系统是基于Thymeleaf+SpringBoot+Mybatis.是非常标准的SSM三大框架( ...
- 即时通信WebSocket 和Socket.IO
WebSocket HTML5定义了WebSocket协议,能更好的节省服务器资源和带宽,并且能够更实时地进行通讯. 在2008年诞生,2011年成为国际标准. 现在基本所有浏览器都已经支持了. We ...
- JDBC中的时间处理
MySQL中常用的时间类有: java.sql.Date, Time, Timestamp 用的比较多的是ava.sql.Date和TimeStamp: 先看表结构 CREATE TABLE `t_u ...
- LDA概率主题模型
目录 LDA 主题模型 几个重要分布 模型 Unigram model Mixture of unigrams model PLSA模型 LDA 怎么确定LDA的topic个数? 如何用主题模型解决推 ...
- WebApi参数检查验证FluentValidation的使用方法
右键打开NuGet程序包管理,进入浏览,搜索 FluentValidation,点击下载 在Model文件夹添加一个Person类进行校验 校验前,using需要引入相应的命名空间方可使用,Abstr ...
- 3、flink架构,资源和资源组
一.flink架构 1.1.集群模型和角色 如上图所示:当 Flink 集群启动后,首先会启动一个 JobManger 和一个或多个的 TaskManager.由 Client 提交任务给 JobMa ...
- JS静态变量和静态函数
本文链接:https://blog.csdn.net/u012790503/article/details/46278521 function A(){this.id = "我是AA&quo ...
- thinkphp5.0 url跳转
<a href="{:url('member/index/index',['id'=>5])}">跳转</a> define()自定义常量在thiin ...