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 ...
随机推荐
- 【从零单排HBase 03】深入HBase读写
在了解HBase架构的基础上,我们需要进一步学习HBase的读写过程,一方面是了解各个组件在整个读写过程中充当的角色,另一方面只有了解HBase的真实请求过程,才能为后续的正确使用打下初步基础,毕竟, ...
- ActiveMQ支持的消息协议
ActiveMQ支持哪些协议 ActiveMQ支持多种协议传输和传输方式,允许客户端使用多种协议连接ActiveMQ支持的协议:AUTO,OpenWire,AMQP,Stomp,MQTT等Active ...
- E - Max Sum Plus Plus Plus HDU - 1244 (线性区间DP)
题目大意: 值得注意的一点是题目要求的是这些子段之间的最大整数和.注意和Max Sum Plus Plus这个题目的区别. 题解: 线性区间DP,对每一段考虑取或者不取.定义状态dp[i][j]指的 ...
- OpenAL试水
参考了https://wysaid.org/976.html. 这个博客给了一个EGE+OpenAL的demo和源代码.一开始没注意,博主也没有给EGE相关信息.会找不到EGE相关头文件,建议如果要二 ...
- Laravel项目Linux服务器部署
laravel项目本地开发,一切正常.部署到服务器,首页都加载不出来,查了n多教程,各种方法姿势都试过了,还是不行. 功夫不负有心人,最后终于找到了问题所在,在此做个记录,铭记教训. 排查错误一定要: ...
- 基于 HTML5 WebGL 的高炉炼铁厂可视化系统
前言 在当今 工业4.0 新时代的推动下,不仅迎来了 工业互联网 的发展,还开启了 5G 时代的新次元.而伴随着带宽的提升,网络信息飞速发展,能源管控上与实时预警在工业互联网中也占着举足轻 ...
- [转+自]disable_functions之巧用LD_PRELOAD突破
写在前面: 通过知乎的一篇艰难的渗透提权,引发了一些对于disable_funcionts绕过的思考,虽然在暑假日记中记载了四种绕过disable_functions,比如com组件,pcntl_ex ...
- [Laravel框架学习一]:Laravel框架的安装以及 Composer的安装
1.先下载Composer-Setup.exe,下载地址:下载Composer .会自动搜索PHP.exe的安装路径,如果没有,就手动找到php路径下的php.exe. 2.在PHP目录下,打开php ...
- 【arithmetic】搜索插入位置
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引.如果目标值不存在于数组中,返回它将会被按顺序插入的位置 可以假设数组中无重复元素. 示例 1: 输入: [1,3,5,6], 5 输出: ...
- 立体匹配-----NCC视差匹配
目录 一.立体匹配算法 1.立体匹配算法分类 二.NCC 视差匹配方法 1.原理 2.NCC计算公式 3.算法流程 4.代码实现 5.不同场景运行 三.结论 四.遇到的问题及解决方法 一.立体 ...