JAVA作用C3P0创建连接

来源:互联网 发布:java 文件迁移 编辑:程序博客网 时间:2024/05/29 07:18

好记性不如赖笔头……

使用JAVA包如下:
c3p0-0.9.1.2.jar
mysql-connector-java-5.0.8-bin.jar
junit-4.8.2.jar(这个包一般自带,可以不用专门导入)

1、配置文件名:c3p0-config.xml,存储在src目录下

<?xml version="1.0" encoding="UTF-8"?><c3p0-config>  <default-config>  <!-- 保存driver/url/user/name信息 -->  <property name="jdbcUrl">jdbc:mysql://127.0.0.1:3306/test</property>  <property name="driverClass">com.mysql.jdbc.Driver</property>  <property name="user">root</property>  <property name="password">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>  </default-config>

2、获取连接:C3P0Util.java,主要用于创建连接、关闭连接

package com.ckinghan.c3p0;import java.sql.Connection;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import com.mchange.v2.c3p0.ComboPooledDataSource;public class C3P0Util {    //C3P0的方式创建实例,这个实例会自动读取c3p0-config.xml的配置文件    private static  ComboPooledDataSource cpds = new ComboPooledDataSource();    //获取连接    public static Connection getConnection(){        try {            return cpds.getConnection();        } catch (SQLException e) {            e.printStackTrace();            throw new RuntimeException("创建数据库连接失败,请检查配置文件");        }    }    //关闭连接    public static void closeConnection(ResultSet rs,Statement ps,Connection connection){        if(rs != null){            try {                rs.close();            } catch (SQLException e) {                e.printStackTrace();            }        }        if(ps != null){            try {                ps.close();            } catch (SQLException e) {                e.printStackTrace();            }        }        if(connection != null){            try {                connection.close();            } catch (SQLException e) {                e.printStackTrace();            }        }    }}

3、测试JAVA类:C3P0Test.java

package com.ckinghan.c3p0;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import org.junit.Test;public class C3P0Test {    @Test    public void test(){        Connection connection = C3P0Util.getConnection();        PreparedStatement pStatement = null;        ResultSet rSet = null;        try {            pStatement = connection.prepareStatement("select * from account");            rSet = pStatement.executeQuery();            while (rSet.next()) {                System.out.println(rSet.getInt(1)+"  "+rSet.getString(2)+"  "+rSet.getString(3));            }        } catch (SQLException e) {            e.printStackTrace();        }finally {            C3P0Util.closeConnection(rSet, pStatement, connection);        }    }}

4、执行测试文件:

1  admin  10002  ckinghan  1000
原创粉丝点击