C3P0数据库连接池使用

来源:互联网 发布:手机sd数据恢复 编辑:程序博客网 时间:2024/05/28 05:14

C3P0数据库连接池使用

1、拷贝jar包:c3p0-0.9.1.2.jar     c3p0-0.9.1.2-jdk1.3.jar    c3p0-oracle-thin-extras-0.9.1.2.jar(oracle需要)

2、书写配制文件放在src目录下:c3p0-config.xml(名字只能是这个)

3、类C3P0Util

c3p0-config.xml 内容:

<?xml version="1.0" encoding="UTF-8"?><c3p0-config><!-- This is default config! --><default-config><property name="initialPoolSize">10</property><property name="maxIdleTime">30</property><property name="maxPoolSize">100</property><property name="minPoolSize">10</property><property name="maxStatements">200</property></default-config><!-- This is my config for mysql--><named-config name="mysql"><property name="driverClass">com.mysql.jdbc.Driver</property><property name="jdbcUrl">jdbc:mysql://localhost:3306/test</property><property name="user">root</property><property name="password"></property><property name="initialPoolSize">10</property><property name="maxIdleTime">30</property><property name="maxPoolSize">100</property><property name="minPoolSize">10</property><property name="maxStatements">200</property></named-config><!-- This is my config for oracle --><named-config name="oracle"><property name="driverClass">oracle.jdbc.driver.OracleDriver</property><property name="jdbcUrl">jdbc:oracle:thin:@localhost:1521:orcl</property><property name="user">scott</property><property name="password">liang</property><property name="initialPoolSize">10</property><property name="maxIdleTime">30</property><property name="maxPoolSize">100</property><property name="minPoolSize">10</property><property name="maxStatements">200</property></named-config></c3p0-config>

C3P0Util:

package com.liang.util;import java.io.InputStream;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util.Properties;import com.mchange.v2.c3p0.ComboPooledDataSource;/** * 数据库工具类 * @author liang * */public class C3P0Util {static ComboPooledDataSource cpds=null;static{//这里有个优点,写好配置文件,想换数据库,简单//cpds = new ComboPooledDataSource("oracle");//这是oracle数据库cpds = new ComboPooledDataSource("mysql");//这是mysql数据库}/** * 获得数据库连接 * @return   Connection */public static Connection getConnection(){try {return cpds.getConnection();} catch (SQLException e) {e.printStackTrace();return null;}}/** * 数据库关闭操作 * @param conn   * @param st     * @param pst * @param rs */public static void close(Connection conn,PreparedStatement pst,ResultSet rs){if(rs!=null){try {rs.close();} catch (SQLException e) {e.printStackTrace();}}if(pst!=null){try {pst.close();} catch (SQLException e) {e.printStackTrace();}}if(conn!=null){try {conn.close();} catch (SQLException e) {e.printStackTrace();}}}/** * 测试DBUtil类 * @param args */public static void main(String[] args) {Connection conn=getConnection();System.out.println(conn.getClass().getName());close(conn,null,null);}}





10 1
原创粉丝点击