【JDBC】学习路径10-c3p0数据源的使用(JDBC完结)

Posted on 2022-05-25 16:56  罗芭Remoo  阅读(160)  评论(0编辑  收藏  举报

第一章:下载

c3p0官网:https://www.mchange.com/projects/c3p0/

这个是SourceForge提供的下载地址:https://sourceforge.net/projects/c3p0/

或者点击这里直接下载c3p0文件

 

文件结构:

 

有用的在lib下面:

需要导入两个jar包:

mchange-commons-java-0.2.19.jar

c3p0-0.9.5.5.jar

老样子导入进IDEA中即可。

 

第二章:使用c3p0数据源

除了一些设置不同以外,其余都和dbcp一模一样。

c3p0的对象名叫:ComboPooledDataSource

import com.mchange.v2.c3p0.ComboPooledDataSource;

import java.beans.PropertyVetoException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class c3p0_test {
    private static final String CURL = "jdbc:mysql://localhost:3306/jdbc_01?useUnicode=true&characterEncoding=UTF8";
    private static final String USERNAME = "root";
    private static final String PASSWORD = "88888888";

    private static ComboPooledDataSource ds;

    static{
        try {
            ds = new ComboPooledDataSource();
            ds.setDriverClass("com.mysql.cj.jdbc.Driver");

            ds.setJdbcUrl(CURL);
            ds.setUser(USERNAME);
            ds.setPassword(PASSWORD);

            //设置初始的连接对象数量
            ds.setInitialPoolSize(5);
            //设置最大连接的数量
            ds.setMaxPoolSize(20);
        } catch (PropertyVetoException e) {
            e.printStackTrace();
        }
    }

    public static Connection getConnection(){
        try {
            return ds.getConnection();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return null;
    }

    public static void close(Connection con, PreparedStatement pstmt){
        try {
            pstmt.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        try {
            con.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }



}

 

 


至此,JDBC的所有主线就已经完成了。