码迷,mamicode.com
首页 > 数据库 > 详细

javaWeb_JDBC_c3p0数据库连接池

时间:2019-02-07 00:06:40      阅读:214      评论:0      收藏:0      [点我收藏+]

标签:数据库服务   too   javaweb   root   new   out   帮助文档   测试   bsp   


JDBC_c3p0数据库连接池


1.一个基本的c3p0数据库连接池
/**
* 一个基本的从池c3p0数据库连接池
*/
public static void testC3P0() throws Exception{
ComboPooledDataSource cpds = new ComboPooledDataSource();
cpds.setDriverClass( "com.mysql.jdbc.Driver" ); //loads the jdbc driver
cpds.setJdbcUrl( "jdbc:mysql:///test" );
cpds.setUser("root");
cpds.setPassword("123456");

System.out.println(cpds.getConnection());
}


2.通过配置文件来设置c3p0数据库连接池

(1).配置文件
c3p0-config.xml

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

<named-config name="helloc3p0">

<!-- 指定连接数据源的基本属性 -->
<property name="user">root</property>
<property name="password">1230</property>
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="jdbcUrl">jdbc:mysql:///atguigu</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>


(2).测试代码
/**
* 1. 创建 c3p0-config.xml 文件,
* 参考帮助文档中 Appendix B: Configuation Files 的内容
* 2. 创建 ComboPooledDataSource 实例;
* DataSource dataSource =
* new ComboPooledDataSource("helloc3p0");
* 3. 从 DataSource 实例中获取数据库连接.
*/

public void testC3poWithConfigFile() throws Exception{
DataSource dataSource =
new ComboPooledDataSource("helloc3p0");

System.out.println(dataSource.getConnection());

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


3.数据库连接池应用

(1).创建连接的方法
private static DataSource dataSource = null;

//数据库连接池应只被初始化一次.
static{
dataSource = new ComboPooledDataSource("helloc3p0");
}

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

(2).测试代码
public void testJdbcTools() throws Exception{
Connection connection = JDBCTools.getConnection();
System.out.println(connection);
}

 

javaWeb_JDBC_c3p0数据库连接池

标签:数据库服务   too   javaweb   root   new   out   帮助文档   测试   bsp   

原文地址:https://www.cnblogs.com/nwxayyf/p/10354226.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!