/*
* c3p0数据库连接池:
* 只被初始化一次
* connection对象进行close时,不是正的关闭,而是将该数据连接归还给数据库连接池
*
* */

四个架包

mysql-connector-java-jar

commons-dbcp-1.4jar

commons-pool-1.5.5jar

c3p0-0.9.1.2.jar(在架包//其他,文件下)导进去

----------------------------------------------------------------------------------------------

//方法一
public void testC3p0() throws Exception{
ComboPooledDataSource cpds=new ComboPooledDataSource();

cpds.setDriverClass("com.mysql.jdbc.Driver");
cpds.setJdbcUrl("jdbc:mysql:///lxn");
cpds.setUser("root");
cpds.setPassword("lxn123");
System.out.println(cpds.getConnection());
}

-----------------------------------------------------------------------------------------------
//方法二:通过配置文件的方法连接数据库

首先在src目录下建立一个XML文件

<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>

<named-config name="helloc3p0">

<!-- 指定连接数据源的基本属性 -->
<property name="user">root</property>
<property name="password">lxn123</property>
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="jdbcUrl">jdbc:mysql:///lxn</property>

<!-- 若数据库中连接数不足时, 一次向数据库服务器申请多少个连接 -->
<property name="acquireIncrement">5</property>
<!-- 初始化数据库连接池时连接的数量 -->
<property name="initialPoolSize">5</property>
<!-- 数据库连接池中的最小的数据库连接数 -->
<property name="minPoolSize">5</property>
<!-- 数据库连接池中的最大的数据库连接数 -->
<property name="maxPoolSize">10</property>

<!-- C3P0 数据库连接池可以维护的 Statement 的个数 -->
<property name="maxStatements">20</property>
<!-- 每个连接同时可以使用的 Statement 对象的个数 -->
<property name="maxStatementsPerConnection">5</property>

</named-config>

</c3p0-config>

连接方法:
public void testC3p0WithConfigFile() throws Exception{
DataSource dataSource=new ComboPooledDataSource("helloc3po");
System.out.println(dataSource.getConnection());

ComboPooledDataSource comboPooledDataSource=(ComboPooledDataSource) dataSource;
System.out.println(comboPooledDataSource.getMaxStatements());
}

------------------------------------------------------------------------------------------------------------
//方法三:在src目录下建立一个XML文件,例上

连接测试方法:
private static DataSource dataSource=null;

static{
dataSource=new ComboPooledDataSource("helloc3p0");
}

public static Connection getConnection() throws Exception{
return dataSource.getConnection();
}

@Test
public void testC3p0L() throws Exception{
Connection connection=getConnection();
System.out.println(connection);
}

c3p0数据库连接池(作用不重复)的更多相关文章

  1. C3P0数据库连接池使用方法

    一.应用程序直接获取数据库连接的缺点 用户每次请求都需要向数据库获得链接,而数据库创建连接通常需要消耗相对较大的资源,创建时间也较长.假设网站一天10万访问量,数据库服务器就需要创建10万次连接,极大 ...

  2. c3p0 数据库连接池相关知识

    c3p0数据库连接池的配置文件放在eclipse的src目录下,代码就可以识别. c3p0的配置文件的内容如下: <!-- Uncomment and set any of the option ...

  3. 【Java EE 学习 16 上】【dbcp数据库连接池】【c3p0数据库连接池】

    一.回顾之前使用的动态代理的方式实现的数据库连接池: 代码: package day16.utils; import java.io.IOException; import java.lang.ref ...

  4. paip.c3p0 数据库连接池 NullPointerException 的解决...

    paip.c3p0 数据库连接池 NullPointerException 的解决... 程序ide里面运行正常..外面bat运行错误.. 作者Attilax  艾龙,  EMAIL:14665198 ...

  5. paip.提升稳定性---c3p0数据库连接池不能取到连接An attempt by a client to checkout a Connection has timed out

    paip.提升稳定性---c3p0数据库连接池不能取到连接An attempt by a client to checkout a Connection has timed out 作者Attilax ...

  6. [原创]java WEB学习笔记80:Hibernate学习之路--- hibernate配置文件:JDBC 连接属性,C3P0 数据库连接池属性等

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  7. springboot 使用c3p0数据库连接池

    springboot 使用c3p0数据库连接池的方法  本文转自:http://www.cnblogs.com/xiaosiyuan/p/6255292.html 使用springboot开发时,默认 ...

  8. c3p0数据库连接池无法连接数据库—错误使用了username关键字

    一.问题描述 上篇博客说到了关于maven无法下载依赖jar包的问题,这篇博客再说一下关于在本个项目中遇到的关于使用C3P0连接池连接数据库的问题,真心很奇葩,在此,也请大家引起注意.首先看我的项目基 ...

  9. c3p0数据库连接池 原创: Java之行 Java之行 5月8日 一、连接池概述 实际开发中“获得连接”或“释放资源”是非常消耗系统资源的两个过程

    c3p0数据库连接池 原创: Java之行 Java之行 5月8日 一.连接池概述 实际开发中“获得连接”或“释放资源”是非常消耗系统资源的两个过程 DB连接池HikariCP为什么如此快 原创: D ...

随机推荐

  1. SQL2008中Merge Into的用法

    在SQL2008中,新增了一个关键字:Merge,这个和Oracle的Merge的用法差不多,只是新增了一个delete方法而已.下面就是具体的使用说明: 首先是对merge的使用说明: merge ...

  2. 异常积累:org.hibernate.StaleStateException

    ERROR - Exception executing batch:  org.hibernate.StaleStateException: Batch update returned unexpec ...

  3. Centos7 安装 Nginx

    Nginx有很多版本的,下面我给个链接http://nginx.org/packages/mainline/centos/7/x86_64/RPMS/ 下载对应当前系统版本的nginx包(packag ...

  4. 转:Python获取随机数(英文)

    Random - Generate pseudo-random numbers Source code: Lib/random.py This module implements pseudo-ran ...

  5. 查看真机的系统版本sdk

    1.adb devices 确保连接上了真机 2.adb shell 进入android系统 3.进入system目录下 4.查看build.prop文件 cat build.prop

  6. PHP5各个版本的新功能和新特性总结(转载 http://www.jb51.net/article/48150.htm)

    本文目录:PHP5.2 以前:autoload, PDO 和 MySQLi, 类型约束PHP5.2:JSON 支持PHP5.3:弃用的功能,匿名函数,新增魔术方法,命名空间,后期静态绑定,Heredo ...

  7. paper 38 :entropy

    图像熵计算 真是为了一个简单的基础概念弄的心力交瘁,请教了一下师姐,但是并没有真的理解,师弟我太笨呀~~所以,我又查熵的中文含义和相关的出处!共勉吧~~ 1.信息熵: 利用信息论中信息熵概念,求出任意 ...

  8. String,StringBuffer,StringBuilder三者区别

    String:每次改变,String都会重新构造,内存指针都会改变 StringBuffer:主要用在全局变量中 StringBuilder:在线程内完成字符拼接,因为线程是不安全的,所以完成后可以丢 ...

  9. Linux 安装 nginx注意

    ./configure --prefix=/usr/local/nginx TO ./configure --prefix=/usr/local/nginx --conf-path=/usr/loca ...

  10. PHPCMS V9 学习总结

    在实现PHPCMS网站过程中,根据业务需求,我们遇到很多问题,特此总结如下,以便大家参考学习. [1]PHPCMS V9系统目录简析 在研究所有问题之前,请先了解一下系统的文件目录结构,具体如下图所示 ...