C3P0-基於mysql8建立C3P0鏈接池(jdbcUrl寫法)

導入相關包

c3p0的jar包下載
image.png
下載.bin.文件
解壓後,將這兩個jar包放入本身建立的myjar文件夾內
image.pngjava

編寫配置文件

配置文件中主要是數據庫的鏈接信息
建立一個文件c3p0-config.xml,將下面的代碼拷貝進去mysql

<?xml version="1.0" standalone="no" ?>

<c3p0-config>
    <!--默認配置-->
    <default-config>

        <!-- initialPoolSize:初始化時獲取三個鏈接,
              取值應在minPoolSize與maxPoolSize之間。 -->
        <property name="initialPoolSize">3</property>

        <!-- maxIdleTime:最大空閒時間,60秒內未使用則鏈接被丟棄。若爲0則永不丟棄。-->
        <property name="maxIdleTime">60</property>

        <!-- maxPoolSize:鏈接池中保留的最大鏈接數 -->
        <property name="maxPoolSize">100</property>
        <!-- minPoolSize: 鏈接池中保留的最小鏈接數 -->
        <property name="minPoolSize">10</property>

    </default-config>


    <!--配置鏈接池mysql-->

    <named-config name="mysql">
        <property name="driverClass">com.mysql.cj.jdbc.Driver</property>
        <property name="jdbcUrl">jdbc:mysql://localhost:3306/lianxi01?characterEncoding=UTF-8&amp;useSSL=false&amp;allowPublicKeyRetrieval=true&amp;serverTimezone=UTC</property>
        <property name="user">root</property>
        <property name="password">316426</property>
        <property name="initialPoolSize">10</property>
        <property name="maxIdleTime">30</property>
        <property name="maxPoolSize">100</property>
        <property name="minPoolSize">10</property>
    </named-config>
    <!--配置鏈接池2,能夠配置多個-->

</c3p0-config>
  • jdbcUrl:在JDBC中,url本來是&分隔,如今須要改爲&amp;使用這一串替換本來的&
  • jdbcUrl中的lianxi01是個人數據庫,這裏須要換成本身的數據庫名
  • userpassword:都修改成本身的就能夠

將配置文件加入工做內

image.png
個人配置文件與工具類C3P0Utils的層級關係是這樣,接下來以這樣的層級關係將配置文件導入.sql

  1. 在Module名(JDBC_task)上右鍵點擊,建立文件夾resources

image.png

  1. 建立好後,在文件夾上單擊右鍵,將文件夾類型改成Resources Root
    image.png
  2. 複製剛剛編寫且保存好的配置文件,鼠標左鍵選中剛剛建立好且修改好類型的文件夾resources,ctrl+V就把配置文件放在這個文件夾了

編寫工具類

package utils;

import com.mchange.v2.c3p0.ComboPooledDataSource;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

/**
 *   項目描述: 編寫數據庫C3P0鏈接池的工具類代碼
 */

public class C3P0Utils {

    // 1.建立C3P0核心工具類ComboPooledDataSource()對象
    // 無參方式使用的是配置文件中的默認配置
    //ComboPooledDataSource dataSource = new ComboPooledDataSource();
    // 使用有參方式構造對象,目的是使用自定義配置
    public static ComboPooledDataSource dataSource = new ComboPooledDataSource("mysql");

    // 2.提供鏈接方法
    public static Connection getConnection() throws SQLException {
        return dataSource.getConnection();
    }

    // 3.關閉對象
    public static void close(Connection connection, Statement statement) throws SQLException {
        if(null != connection && null != statement){
            statement.close();
            connection.close();
        }
    }

    public static void close(Connection connection, Statement statement, ResultSet resultSet) throws SQLException {
        if(null != connection && null != statement && null != resultSet){
            resultSet.close();
            statement.close();
            connection.close();
        }
    }

}
相關文章
相關標籤/搜索