Java连接数据库——使用C3P0数据源链接数据库

来源:转载 发布时间:2018-12-08 11:34:01 阅读量:1079

1、相关jar包,这里需要3个jar包



2、具体链接数据库代码

        ComboPooledDataSource类继承自AbstractComboPooledDataSource类,且AbstractComboPooledDataSource类实现了PooledDataSource接口


ComboPooledDataSource常用方法


类型


方法和功能


void


setDriverClass(java.lang.String driverClass) 


设置连接数据库的驱动名称


void


setJdbcUrl(java.lang.String jdbcUrl) 


设置连接数据库的地址


void


setUser(java.lang.String user)


设置连接数据库的用户名


void


setPassword(java.lang.String password)


设置连接数据库的密码


void


setInitialPoolSize(int initialPoolSize)


设置数据库连接池初始化的连接数目


void


setMaxPoolSize(int maxPoolSize)


设置最大数据库连接池的数量


void


setMinPoolSize(int minPoolSize)


设置最小数据库连接池的数量


Connection


getConnection()


从连接池获取一个连接


构造方法


ComboPooledDataSource()


ComboPooledDataSource(boolean autoregister)


ComboPooledDataSource(java.lang.String configName)


(1)、通过ComboPooledDataSource类直接创建数据源对象

Example4.java

import com.mchange.v2.c3p0.ComboPooledDataSource;

import javax.sql.DataSource;

import java.sql.SQLException;

public class Example4{

    public static DataSource dataSource = null;

    //初始化C3P0数据源

    static {

        ComboPooledDataSource comboPooledDataSource = new ComboPooledDataSource();

        try{

            comboPooledDataSource.setDriverClass("com.mysql.jdbc.Driver");

            comboPooledDataSource.setJdbcUrl("jdbc:mysql://127.0.0.1:3306/chapter02");

            comboPooledDataSource.setUser("root");

            comboPooledDataSource.setPassword("1234");

            //初始化

            comboPooledDataSource.setInitialPoolSize(5);

            //设置最大的链接数

            comboPooledDataSource.setMaxPoolSize(15);

            dataSource = comboPooledDataSource;

        }catch (Exception e){

        }

    }

    public static void main(String[] args)throws SQLException {

        System.out.println(dataSource.getConnection());

    }

}

(2)、通过配置文件创建数据源对象

        在项目的src目录下创建一个出c3p0-donfig.xml文件


c3p0-donfig.xml内容如下

<?xml version="1.0" encoding="utf-8" ?>

<c3p0-config>

    <default-config>

        <property name="user">root</property>

        <property name="password">1234</property>

        <property name="driverClass">com.mysql.jdbc.Driver</property>

        <property name="jdbcUrl">

            jdbc:mysql://localhost:3306/chapter02

        </property>

        <property name="checkoutTimeout">30000</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>

    <named-config name="dongyao">

        <property name="initialPoolSize">5</property>

        <property name="maxPoolSize">15</property>

        <property name="driverClass">com.mysql.jdbc.Driver</property>

        <property name="jdbcUrl">

            jdbc:mysql://localhost:3306/chapter02

        </property>

        <property name="user">root</property>

        <property name="password">1234</property>

    </named-config>

</c3p0-config>

         其中<default-config>是默认配置,<named-config name=””>是自定义配置,一个配置文件中可以有一个或者多个自定义配置,调用ComboPoolDataSource(String configName)方法传入<named-config>节点中name属性的值即可创建C3P0数据源对象。


         在项目的src目录下创建一个Example5的类


Example5.java

import com.mchange.v2.c3p0.ComboPooledDataSource;

 

import javax.sql.DataSource;

import java.sql.SQLException;

 

public class Example5 {

    public static DataSource dataSource = null;

    static {

        ComboPooledDataSource comboPooledDataSource = new ComboPooledDataSource("dongyao");

        dataSource = comboPooledDataSource;

    }

    public static void main(String[] args) throws SQLException {

        System.out.println(dataSource.getConnection());

    }

}

3、控制台显示




标签: 数据库
分享:
评论:
你还没有登录,请先