C3P0数据库连接池源代码
来源:互联网 发布:d3.js的作用 编辑:程序博客网 时间:2024/05/22 06:14
步骤如下:
导入c3p0-0.9.1.2.jar
1. 创建 c3p0-config.xml 文件,
2. 创建 ComboPooledDataSource 实例;
DataSource dataSource =new ComboPooledDataSource("helloc3p0");
3. 从 DataSource 实例中获取数据库连接.
第一种方法:不使用工具类
package tan.com;import java.io.InputStream;import java.sql.Connection;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;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 TestJDBC {/**如何使用c3p0? * 1. 创建 c3p0-config.xml 文件, * 2. 创建 ComboPooledDataSource 实例; * DataSource dataSource =new ComboPooledDataSource("helloc3p0"); * 3. 从 DataSource 实例中获取数据库连接. */@Testpublic void testC3poWithConfigFile() throws Exception{DataSource dataSource = new ComboPooledDataSource("helloc3p0"); System.out.println(dataSource.getConnection()); //获取数据库连接池最大连接数ComboPooledDataSource comboPooledDataSource = (ComboPooledDataSource) dataSource;System.out.println(comboPooledDataSource.getMaxStatements()); }
配置c3p0-config.xml
<?xml version="1.0" encoding="UTF-8"?><c3p0-config><named-config name="helloc3p0"><!-- 指定连接数据源的基本属性 --><property name="user">root</property><property name="password">1234</property><property name="driverClass">com.mysql.jdbc.Driver</property><property name="jdbcUrl">jdbc:mysql:///tan</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>
第二种方法:使用工具类JDBCTools.java
package tan.com;import java.sql.Connection;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import javax.sql.DataSource;import com.mchange.v2.c3p0.ComboPooledDataSource;public class JDBCTools {//数据库连接池应该只被初始化一次(多个项目共享一个连接池就够了)private static DataSource dataSource=null;static{dataSource=new ComboPooledDataSource("helloc3p0");}public static Connection getConnection() throws Exception{return dataSource.getConnection();} /** * 2、关闭资源 * 关闭资源关闭 Statement 和 Connection和ResultSet * @param rs * @param statement * @param conn */public static void release(ResultSet rs, Statement statement, Connection conn) {if(rs != null){try {rs.close();} catch (SQLException e) {e.printStackTrace();}}if (statement != null) {try {statement.close();} catch (Exception e2) {e2.printStackTrace();}}if (conn != null) {try {conn.close();} catch (Exception e2) {e2.printStackTrace();}}}/** * 关闭 Statement 和 Connection * @param statement * @param conn */public static void release(Statement statement, Connection conn) {if (statement != null) {try {statement.close();} catch (Exception e2) {e2.printStackTrace();}}if (conn != null) {try {conn.close();} catch (Exception e2) {e2.printStackTrace();}}}}使用关键代码:
//如何从数据库连接池中获取连接呢?@Testpublic void testJDBCTools() throws Exception{Connection connection=JDBCTools.getConnection();System.out.println(connection);}
\
0 0
- C3P0数据库连接池源代码
- c3p0 数据库连接池配置
- 数据库连接池C3P0 小结
- 数据库连接池 c3p0
- c3p0数据库连接池dbutil
- 数据库连接池-C3P0
- c3p0数据库连接池实例
- 数据库连接池C3P0学习
- java c3p0数据库连接池
- 数据库连接池C3P0学习
- C3p0-数据库连接池
- 数据库连接池框架:c3p0
- 数据库连接池 - C3P0
- C3P0数据库连接池使用
- C3P0数据库连接池使用
- C3P0数据库连接池使用
- 数据库连接池C3P0学习
- c3p0数据库连接池
- Node.js 入门简介
- TI C66x DSP 系统events及其应用 - 5.3(Interrupt)
- 继承的基本演示
- 局域网聊天中如何实现 CStdioFile 按行读取写入
- 第十二讲 N层架构在ASP.NET中的应用(一)
- C3P0数据库连接池源代码
- Sizeof与Strlen的区别与联系
- Linux下命令free
- Android 设计模式
- 不用for和while从任意字符串中找出第一个仅出现一次的字符
- 缓存数据到内存;减轻服务器的压力
- 计数排序
- 指向字符串的指针在printf与cout中的表现比较
- JavaScript高级程序设计(第2版) 学习笔记:(五)js获取窗口大小