c3p0连接池 用法 (mysql8)

2,590 阅读1分钟

导包

其中mysql-connector-java-8.0.11是连接mysql8的,用法与mysql-connector-java 5.几的版本有点不一样

这是c3p0-config.xml的文件信息 c3p0要放在源文件目录下,src就是源文件夹

    <c3p0-config>
    <!-- 使用默认的配置读取连接池对象 -->
        <default-config>
      	<!--  连接参数 -->
      	<!--连接mysql5版本的配置信息是 com.mysql.jdbc.Driver-->
      	<!--mysql8版本的要加上cj-->
        <property name="driverClass">com.mysql.cj.jdbc.Driver</property>
        <!--mysql5版本的只需要配置成 jdbc:mysql://localhost:3306/demobase 就行了-->
        <property name="jdbcUrl">jdbc:mysql://localhost:3306/demobase?useSSL=false&amp;serverTimezone=Hongkong&amp;characterEncoding=utf-8&amp;autoReconnect=true</property>
        <property name="user">root</property>
        <property name="password">dong</property>
        
        <!-- 连接池参数 -->
        <property name="initialPoolSize">5</property>
        <property name="maxPoolSize">10</property>
        <property name="checkoutTimeout">3000</property>
      </default-config>
    </c3p0-config>
  • 创建连接池
  • 建立连接

    package com.xxx.demo1;

    import com.mchange.v2.c3p0.ComboPooledDataSource;
    
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.SQLException;
    
    public class Test1 {
    public static void main(String[] args) throws SQLException {
        //连接池创建
        ComboPooledDataSource dataSource = new ComboPooledDataSource();
        //建立连接
        Connection connection = dataSource.getConnection();
        //prepareStatement 可以防止注入漏洞
        PreparedStatement ps = connection.prepareStatement("insert into t_user values (null ,?,?)");
        ps.setString(1,"TOM3");
        ps.setString(2,"abc");
        ps.executeUpdate();
        // 关闭prepareStatement
        ps.close();
        // 关闭Connection
        connection.close();
    }
}