JAVA--高级基础开发C3P0

C3P0配置文件

<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>
    <!--配置连接数据库的参数,作为默认配置-->
    <default-config>
        <!--设置连接参数-->
        <property name="driverClass">com.mysql.cj.jdbc.Driver</property>
        <property name="jdbcUrl">jdbc:mysql://localhost:3306/ab_wzy?serverTimezone=UTC</property>>
        <property name="user">root</property>
        <property name="password">root</property>
        <!--连接池参数设置-->

        <!--初始连接数-->
        <property name="initialPoolSize">5</property>

        <!--最大连接数-->
        <property name="maxPoolSize">10</property>

        <!--最大等待时间 毫秒为单位 -->
        <property name="checkoutTimeout">2000</property>

        <!--最大空闲时间-->
        <property name="maxIdleTime">1000</property>

        <!--连接数耗尽时,一次性在创建几个连接对象-->
        <property name="acquireIncrement">5</property>

        <!--最小连接数 -->
        <property name="minPoolSize">3</property>

    </default-config>
</c3p0-config>

//封装C3P0工具包
import java.io.IOException;
import java.io.InputStream;
import java.sql.*;
import java.util.Properties;
import com.mchange.v2.c3p0.ComboPooledDataSource;

import javax.sql.DataSource;
public class JdbcUtils2 {
    //创建连接池对象
    private  static DataSource  ds;
    private  static Properties P;
    //创建一个 C3P0 的连接池对象,使用 ComboPooledDataSource,默认加载 c3p0-config.xml 文件
    static {
        ds=new ComboPooledDataSource();
    }

    //获取数据库连接对象
    public  static Connection  getConnection()throws SQLException{
        return ds.getConnection();
    }


    //关闭数据库连接对象之insert  delete update的操作
    public static  void  close(Connection  con, Statement state)throws SQLException{
        con.close();;
        state.close();
    }
    //关闭数据库连接的对象之 select 查找查询的操作
    public static  void close(Connection  con, Statement  state, ResultSet  set)throws SQLException{
        set.close();
        state.close();
        con.close();
    }
    //关闭获取数据库连接对象
    public  static  void  close(Connection  con)throws SQLException{
        con.close();
    }
    // 关闭执行Statement执行SQL 语句的对象
    public static  void close(Statement  state)throws SQLException{
        state.close();
    }
    //关闭结果集对象ResultSet对象
    public static  void close(ResultSet  set)throws SQLException{
        set.close();
    }
}