c3p0连接池

c3p0连接池

需要的架包
1.mysql-connector-java-5.1.7-bin.jar
2.c3p0-0.9.2.1.jar
3.mchange-commons-java-0.2.3.4.jar
c3p0-config.xml配置文件
<!-- 
*这里为了演示只配置了最基本的,和普通连接数据库类似
*这里的name属性名字不能自己杜撰
*这里的named-config的name属性一定要写,不然找不到配置
*如果出现java.sql.SQLException: 
Connections could not be acquired from the underlying database!
错误,通常是c3p0-config.xml文件配置错误,检查账号,密码,驱动是否正确

 -->

<c3p0-config>
        <named-config name="tang">
            <property name="driverClass">com.mysql.jdbc.Driver</property>
            <property name="jdbcUrl">jdbc:mysql://localhost:3306/tang</property>
            <property name="user">root</property>
            <property name="password">jarrem</property>
            <property name="maxActive">20</property>
            <property name="maxIdle">10</property>
            <property name="minIdle">1</property>
            <property name="initialSize">2</property>
        </named-config>
    </c3p0-config>

 

java代码

package com.tang.c3p0;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.sql.DataSource;
import com.mchange.v2.c3p0.ComboPooledDataSource;
public class c3p0Test {
    private Connection connection=null;
    private DataSource ds=null;
    public c3p0Test(){
        //创建数据源,通过named-config的name属性加载xml配置文件
        ds=new ComboPooledDataSource("tang");
         try {
             //获取Connection对象
            connection = ds.getConnection();
            PreparedStatement statement = connection.prepareStatement("select * from student;");
            ResultSet result = statement.executeQuery();
            while(result.next()){
                System.out.println(result.getString(5)+"    "+result.getString(3));
            }
         } catch (SQLException e) {
                e.printStackTrace();
        }
    }
    public static void main(String args[]){
        new c3p0Test();
    }
}

 



posted @ 2016-09-22 09:48  jarrem  阅读(747)  评论(0编辑  收藏  举报