c3p0、dbcp
来源:互联网 发布:淘宝天天特价秒杀 编辑:程序博客网 时间:2024/06/05 05:20
dbcp.properties
username=rootpassword=rootdriverClassName=com.mysql.jdbc.Driverurl=jdbc:mysql:///mydatabaseinitialSize=10maxActive=50minIdle=5maxWait=5000
c3p0-config.xml
<?xml version="1.0" encoding="UTF-8"?><c3p0-config> <named-config name="helloc3p0"> <!-- 指定连接数据源的基本属性 --> <property name="user">root</property> <property name="password">root</property> <property name="driverClass">com.mysql.jdbc.Driver</property> <property name="jdbcUrl">jdbc:mysql:///mydatabase</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>
JdbcTest
package com.godinsec;import java.io.InputStream;import java.sql.Connection;import java.sql.SQLException;import java.util.Properties;import javax.sql.DataSource;import org.apache.commons.dbcp.BasicDataSource;import org.apache.commons.dbcp.BasicDataSourceFactory;import org.junit.Test;import com.mchange.v2.c3p0.ComboPooledDataSource;public class JdbcTest { @Test public void testC3poWithConfigFile() throws Exception{ DataSource dataSource = new ComboPooledDataSource("helloc3p0"); System.out.println(dataSource.getConnection()); ComboPooledDataSource comboPooledDataSource = (ComboPooledDataSource) dataSource; System.out.println(comboPooledDataSource.getMaxStatements()); } @Test public void testC3P0() throws Exception{ ComboPooledDataSource cpds = new ComboPooledDataSource(); cpds.setDriverClass( "com.mysql.jdbc.Driver" ); //loads the jdbc driver cpds.setJdbcUrl( "jdbc:mysql:///mydatabase" ); cpds.setUser("root"); cpds.setPassword("root"); System.out.println(cpds.getConnection()); } /** * 1. 加载 dbcp 的 properties 配置文件: 配置文件中的键需要来自 BasicDataSource 的属性. 2. 调用 * BasicDataSourceFactory 的 createDataSource 方法创建 DataSource 实例 3. 从 * DataSource 实例中获取数据库连接. */ @Test public void testDBCPWithDataSourceFactory() throws Exception { // 加载配置信息 Properties properties = new Properties(); InputStream inStream = JdbcTest.class.getClassLoader() .getResourceAsStream("dbcp.properties"); properties.load(inStream); // 调用 BasicDataSourceFactory 的 createDataSource 方法 // 创建 DataSourc实例 DataSource dataSource = BasicDataSourceFactory .createDataSource(properties); // 测试 System.out.println(dataSource.getConnection()); // 获取配置信息的内容 BasicDataSource basicDataSource = (BasicDataSource) dataSource; System.out.println(basicDataSource.getMaxWait()); } /** * 使用 DBCP 数据库连接池 1. 加入 jar 包(2 个jar 包). 依赖于 Commons Pool 2. 创建数据库连接池 3. * 为数据源实例指定必须的属性 4. 从数据源中获取数据库连接 */ @Test public void testDBCP() throws SQLException { // javax.sql.DataSource--import org.apache.commons.dbcp.BasicDataSource; // org.apache.commons.dbcp.BasicDataSource; BasicDataSource dataSource = new BasicDataSource(); // 2. 为数据源实例指定必须的属性 dataSource.setUsername("root"); dataSource.setPassword("root"); dataSource.setUrl("jdbc:mysql:///mydatabase"); dataSource.setDriverClassName("com.mysql.jdbc.Driver"); // 3. 指定数据源的一些可选的属性. // 1). 指定数据库连接池中初始化连接数的个数 dataSource.setInitialSize(5); // 2). 指定最大的连接数: 同一时刻可以同时向数据库申请的连接数 dataSource.setMaxActive(5); // 3). 指定小连接数: 在数据库连接池中保存的最少的空闲连接的数量 dataSource.setMinIdle(2); // 4).等待数据库连接池分配连接的最长时间. 单位为毫秒. 超出该时间将抛出异常. dataSource.setMaxWait(1000 * 5); // 4. 从数据源中获取数据库连接 Connection connection = dataSource.getConnection(); System.out.println(connection); }}
0 0
- DBCP C3P0
- c3p0、dbcp
- DBCP 与C3p0 20111118
- DBCP数据源,C3P0数据源
- bean.xml,c3p0,dbcp
- c3p0,dbcp和proxool
- 数据库连接池c3p0/dbcp
- Spring数据源C3P0,DBCP
- c3p0、dbcp比较
- c3p0与dbcp区别
- C3P0和DBCP区别
- DBCP,C3P0,Proxool,BoneCP
- 连接池-DBCP-C3P0
- 连接池-C3P0、DBCP
- JDBC JNDI DBCP C3P0
- DBCP与C3P0
- spring的c3p0和dbcp
- dbcp、c3p0 数据库连接池解释
- C++编程入门系列之三(数据类型)
- 解凸包问题5种算法
- JavaScript学习笔记(3)
- ubuntu15配置TFTP
- SYN Flood攻击原理与防范
- c3p0、dbcp
- noip模拟2016——1 取数游戏 dfs 或 状压 noip练习
- UiAutomator 正则表达式技巧实例
- 浅谈游戏中的简单判定机制
- LightOJ 1080 Binary Simulation【树状数组区间更新】
- struts2解决中文字符乱码
- LDA 线性判别分析
- HDU5914-Triangle
- 对于Red hat的安装过程