12、数据库连接池C3P0的使用
2016-03-15 17:28
447 查看
1、导入C3P0相应的jar文件
2、导入C3P0的配置文件如下
3、使用C3P0获取数据库连接的代码如下
4、测试代码如下
5、程序运行结果如下
2、导入C3P0的配置文件如下
<?xml version="1.0" encoding="UTF-8"?> <c3p0-config> <default-config name="mysql"> <property name="driverClass">com.mysql.jdbc.Driver</property> <property name="jdbcUrl"> jdbc:mysql://localhost:3306/testdatabase </property> <property name="user">root</property> <property name="password">1234</property> <property name="acquireIncrement">5</property> <property name="initialPoolSize">10</property> <property name="minPoolSize">5</property> <property name="maxPoolSize">20</property> </default-config> <named-config name="zbw"> <property name="driverClass">com.mysql.jdbc.Driver</property> <property name="jdbcUrl">jdbc:mysql://localhost:3306/testdatabase </property> <property name="user">root</property> <property name="password">root</property> <property name="acquireIncrement">5</property> <property name="initialPoolSize">10</property> <property name="minPoolSize">5</property> <property name="maxPoolSize">20</property> </named-config> </c3p0-config>
3、使用C3P0获取数据库连接的代码如下
package com.jdbc.c3p0pool; 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.BasicDataSourceFactory; import com.mchange.v2.c3p0.ComboPooledDataSource; public class GenericityJDBCUtils { // 数据库连接池,用于获取数据库的连接,提高效率 private static ComboPooledDataSource dataSource = null; /** * 在第一次加载GenericityJDBCUtils类的时候,利用C3P0,初始化dataSource * 然后利用dataSource,可以方便的去获取数据库的连接 */ static { try { dataSource = new ComboPooledDataSource("mysql"); } catch (Exception e) { throw new RuntimeException(e); } } /** * 获取一个数据库的连接 * * @return */ public static Connection getConnection() { try { return dataSource.getConnection(); } catch (SQLException e) { throw new RuntimeException(e); } } /** * 释放数据库的连接 * * @param conn * @param st * @param rs */ public static void release(Connection conn, Statement st, ResultSet rs) { if (rs != null) { try { rs.close(); } catch (Exception e) { throw new RuntimeException("ResultSet关闭异常"); } rs = null; } if (st != null) { try { st.close(); } catch (Exception e) { throw new RuntimeException("Statement关闭异常"); } st = null; } if (conn != null) { try { conn.close(); } catch (Exception e) { throw new RuntimeException("Connection关闭异常"); } conn = null; } } }
4、测试代码如下
package com.jdbc.c3p0pool; import java.sql.Connection; public class Test { public static void main(String[] args) { Connection connection = GenericityJDBCUtils.getConnection(); System.out.println(connection); } }
5、程序运行结果如下
相关文章推荐
- emma中文显示乱码问题解决
- MySQL——商业版和社区版的区别
- MySql服务初始化、安装、启动
- 数据库相关的一些基本概念
- Win7 下基于 Oracle VM VirtualBox 安装 fedora8
- MySql 错误代码 1045
- flaskweb遇到的问题总结(持续更新)
- oracle中case...when的用法
- MySQL 备份恢复单个innodb表
- 【Oracle】 Oracle全文检索功能建立
- MySql 5.6异常处理: Row size too large (> 8126)
- 当visual studio的数据库项目遇到SQL71501
- 当visual studio的数据库项目遇到SQL71501
- openresty+websocket+redis simple chat
- openresty+websocket+redis simple chat
- sqlserver三种分页查询方法
- mysql select into outfile 意表备份还原方式
- 修改mongodb oplog size
- 修改mongodb oplog size
- 如何通过远程连接服务器上的MySQL