tomcat下c3p0连接池配置问题
一.首先如果要使用这个连接池,就需要导入c3p0-0.9.2-pre1.jar架包和支持架包mchange-commons-0.2.jar,
我这里测试使用的是msql数据库 当然也需要导入mysql连接架包mysql-connector-java-5.1.26-bin.jar
下载地址:https://pan.baidu.com/s/1GXBVvLcATClOvZyF6k1z6g
二.我这里的配置文件结构如下

这里的c3p0-0.9.2-pre是主要架包 c3p0-config.xml必须在src目录下 才可以检测到
有三种方式使用c3p0这个jar
首先看一下配置文件c3p0-config.xml中的信息
<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>
<!-- This is default config! -->
<!-- 默认配置 -->
<default-config>
<!-- 初始化时 c3p0-config连接池的初始化连接数 -->
<property name="initialPoolSize"></property>
<!-- 连接空闲等待时间 超过这个时间 自动断开连接 -->
<property name="maxIdleTime"></property>
<!-- 连接池最大连接数 -->
<property name="maxPoolSize"></property>
<!-- 连接池最小连接数 -->
<property name="minPoolSize"></property>
<!-- 最多可以得到多少个statement 也就是说可以创建多少个可以执行sql语句的对象 -->
<property name="maxStatements"></property> <property name="driverClass">com.mysql.jdbc.Driver</property>
<!-- 连接url路径 -->
<property name="jdbcUrl">jdbc:mysql://localhost:3306/mysql1</property>
<!-- 连接用户的用户账户 -->
<property name="user">root</property>
<!-- 连接密码 -->
<property name="password">zhousong</property>
</default-config> <named-config name="mysql">
<!-- 连接mysql数据库需要的参数 -->
<!-- 驱动类 -->
<property name="driverClass">com.mysql.jdbc.Driver</property>
<!-- 连接url路径 -->
<property name="jdbcUrl">jdbc:mysql://localhost:3306/mysql1</property>
<!-- 连接用户的用户账户 -->
<property name="user">root</property>
<!-- 连接密码 -->
<property name="password">zhousong</property> <!-- 初始化连接时 的连接数 -->
<property name="initialPoolSize"></property> <!-- 初始化时 c3p0-config连接池的初始化连接数 -->
<property name="initialPoolSize"></property> <!-- 连接空闲等待时间 超过这个时间 自动断开连接 -->
<property name="maxIdleTime"></property> <!-- 每次增加10 当连接不够时 -->
<property name="acquireIncrement"></property> <!-- 连接池最大连接数 -->
<property name="maxPoolSize"></property>
<!-- 连接池最小连接数 --> <property name="minPoolSize"></property> <!-- 最多可以得到多少个statement 也就是说可以创建多少个可以执行sql语句的对象 -->
<property name="maxStatements"></property> </named-config>
</c3p0-config>
然后测试三种使用方式
package C3p0Demo; import java.beans.PropertyVetoException;
import java.sql.Connection;
import java.sql.SQLException; import org.junit.Test; import com.mchange.v2.c3p0.ComboPooledDataSource; public class Demo1 {
/*
* C3p0的代码配置方式
* 通过代码进行四大参数组件的配置
*
*/
@Test
public void C3p0DemoTest() throws PropertyVetoException, SQLException{
//C3p0类的使用
ComboPooledDataSource dataSource =new ComboPooledDataSource(); /*
* 使用四大参数组件 连接数据库
*/
dataSource.setDriverClass("com.mysql.jdbc.Driver"); dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/mysql1"); dataSource.setUser("root"); dataSource.setPassword("zhousong"); //池配置
dataSource.setInitialPoolSize();//初始化连接池时 初始化;连接数为10
dataSource.setAcquireIncrement(); //设置连接池增量连接数
dataSource.setMaxPoolSize(); //连接池最大连接数
dataSource.setMinPoolSize(); //设置连接池最小连接数 Connection connection =dataSource.getConnection(); //使用的是动态代理机制
System.out.println(connection);
connection.close();
}
/*
* 使用默认配置文件 进行连接池子配置
* 默认配置
*/
@Test
public void C3p0DemeTest2() throws SQLException{
ComboPooledDataSource dataSource =new ComboPooledDataSource(); Connection connection =dataSource.getConnection();
System.out.println(connection);
connection.close(); } /*
* 使用配置文件 进行连接池子配置
* 命令配置方式
*/
@Test
public void C3p0DemeTest3() throws SQLException{
ComboPooledDataSource dataSource =new ComboPooledDataSource("mysql"); Connection connection =dataSource.getConnection();
System.out.println(connection);
connection.close(); }
}
分别都通过 这样就可以使用这个架包了
tomcat下c3p0连接池配置问题的更多相关文章
- 配置tomcat全局c3p0连接池
由于项目中多个应用访问同一个数据库,并部署在同一个tomcat下面,所以没必要每个应用都配置连接池信息,这样可能导致数据库的资源分布不均,所以这种情况完全可以配置一个tomcat的全局连接池,所涉及应 ...
- 160707、Tomcat 使用 c3p0连接池
Tomcat 中Jndi是使用Tomcat自带的连接池,由于客户要求,抛弃Tomcat自带的连接池.使用c3p0 .经过几个小时调试,解决方案如下: 环境:Tomcat 6 下面来看Jndi 与 c3 ...
- C3P0连接池温习1
一.应用程序直接获取数据库连接的缺点 用户每次请求都需要向数据库获得链接,而数据库创建连接通常需要消耗相对较大的资源,创建时间也较长.假设网站一天10万访问量,数据库服务器就需要创建10万次连接,极大 ...
- DBCP,C3P0与Tomcat jdbc pool 连接池的比较
hibernate开发组推荐使用c3p0; spring开发组推荐使用dbcp(dbcp连接池有weblogic连接池同样的问题,就是强行关闭连接或数据库重启后,无法reconnect,告诉连接被重置 ...
- Maven 工程下 Spring MVC 站点配置 (三) C3P0连接池与@Autowired的应用
Maven 工程下 Spring MVC 站点配置 (一) Maven 工程下 Spring MVC 站点配置 (二) Mybatis数据操作 前两篇文章主要是对站点和数据库操作配置进行了演示,如果单 ...
- c3p0、dbcp、tomcat jdbc pool 连接池配置简介及常用数据库的driverClass和驱动包
[-] DBCP连接池配置 dbcp jar包 c3p0连接池配置 c3p0 jar包 jdbc-pool连接池配置 jdbc-pool jar包 常用数据库的driverClass和jdbcUrl ...
- C3P0连接池问题,APPARENT DEADLOCK!!! Creating emergency..... [问题点数:20分,结帖人lovekong]
采用c3p0连接池,每次调试程序,第一次访问时(Tomcat服务器重启后再访问)都会出现以下错误,然后连接库需要很长时间,最终是可以连上的,之后再访问就没问题了,请高手们会诊一下,希望能帮小弟解决此问 ...
- 开源数据库连接池之Tomcat内置连接池
本篇介绍几种开源数据库连接池,同时重点讲述如何使用Tomcat服务器内置的数据库连接池. 之前的博客已经重点讲述了使用数据库连接池的好处,即是将多次创建连接转变为一次创建而使用长连接模式.这样能减少数 ...
- JNDI配置c3p0连接池
JNDI是什么呢? 就是java命名和文件夹接口.是SUN公司提供的一种标准的Java命名系统接口. 不好理解?简单说呢.他就是一个资源,放在tomcat里面的一个资源,今天我们就把数据库连接池放到t ...
随机推荐
- 《Java 8 in Action》Chapter 7:并行数据处理与性能
在Java 7之前,并行处理数据集合非常麻烦.第一,你得明确地把包含数据的数据结构分成若干子部分.第二,你要给每个子部分分配一个独立的线程.第三,你需要在恰当的时候对它们进行同步来避免不希望出现的竞争 ...
- Oracle笔记_查询
1 单条件查询 select -- from -- where 条件 -- = > >= < <= != <> -- 单引号用于数据表示字符串 -- 双引号用于数据 ...
- python 19 包
目录 1. 包 2. logging 日志 2.1 日志级别 2.2 配置日志格式: 2.3 logger 对象配置 1. 包 文件夹下具有__init__.py文件就是一个包 from bake.c ...
- C++微信网页协议实现和应用
微信推送报警消息实现 目录 1 前言... 2 1.1 背景... 2 1.2 现有技术对比... 2 2 总体流程... 2 3 微信网页接口解析... ...
- [Python] Django框架入门2——深入模型
说明: 本文主要深入了解模型(models.py),涉及ORM简介.模型定义.模型成员.模型查询.自连接等.需要一定基础,可以先走一走基本入门流程. 附录一使用mysql数据库,附录二Django开发 ...
- 持续集成高级篇之Jenkins Pipeline git拉取
系列目录 PipeLine中拉取远程git仓库 前面讲自由式任务的时候,我们可以看到通过自由式job里提供的图形界面配置git拉取非常方便的,实际上使用PipeLine也并不复杂.这一节我们展示一下如 ...
- [The Preliminary Contest for ICPC Asia Nanjing 2019] A-The beautiful values of the palace(二维偏序+思维)
>传送门< 前言 这题比赛的时候觉得能做,硬是怼了一个半小时,最后还是放弃了.开始想到用二维前缀和,结果$n\leq 10^{6}$时间和空间上都爆了,没有办法.赛后看题解用树状数组,一看 ...
- tensorflow学习笔记——自编码器及多层感知器
1,自编码器简介 传统机器学习任务很大程度上依赖于好的特征工程,比如对数值型,日期时间型,种类型等特征的提取.特征工程往往是非常耗时耗力的,在图像,语音和视频中提取到有效的特征就更难了,工程师必须在这 ...
- P1415 拆分数列 DP
传送门: 题意: 将一个数字串分成许多不同的小串,使得这些小串代表的数字严格递增,要求最后一个数字尽可能地小. 然后满足字典序尽可能大. 思路: 由于最后一个数字要尽可能地小,所以先处理出每个数的L[ ...
- hdu3746(kmp最小循环节)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3746 题意:问在一个字符串末尾加上多少个字符能使得这的字符串首尾相连后能够循环 题解:就是利用next ...