数据库连接池之c3p0的使用

第一步:创建配置文件c3p0-config.xml

<?xml version="1.0" encoding="UTF-8" ?>
<c3p0-config>
    <named-config name="wong">
        <!--数据库驱动-->
        <property name="driverClass">com.mysql.cj.jdbc.Driver</property>
        <!--数据库连接-->
        <property name="jdbcUrl">jdbc:mysql://localhost:3306/javaweb?serverTimezone=GMT%2B8&amp;characterEncoding=utf-8</property>
        <!--用户名-->
        <property name="user">root</property>
        <!--密码-->
        <property name="password">root</property>
        <!--自动增量-->
        <property name="acquireIncrement">5</property>
        <!--初始化连接数-->
        <property name="initialPoolSize">20</property>
        <!--最小连接数-->
        <property name="minPoolSize">10</property>
        <!--最大连接数-->
        <property name="maxPoolSize">40</property>
        <!--标准参数  控制prepareStatement数量-->
        <property name="maxStatements">0</property>
        <!--单个连接所拥有的最大缓存Statement数量-->
        <property name="maxStatementsPerConnection">5</property>
    </named-config>
</c3p0-config>

第二步 获取c3p0数据连接池

public class getC3p0 {
    private static ComboPooledDataSource dataSource = new ComboPooledDataSource("wong");

    public static DataSource getDataSource(){
        return dataSource;
    }
}

第三步 创建查询运行器对象

 static QueryRunner runner = new QueryRunner(getC3p0.getDataSource());

    public static List<Student> selectAll(){
        String sql = "select * from t_student";
        List<Student> query = null;
        try {
            query = runner.query(sql, new BeanListHandler<>(Student.class));
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }
        return query;
    }

使用到的jar包

  • c3p0-0.9.2-pre5.jar
  • commons-dbutils-1.6.jar
  • mchange-commons-java-0.2.3.jar
上一篇:mysql的sql_mode设置


下一篇:JDBC连接池