Java测试开发--MySql之C3P0连接池(八)
阅读原文时间:2023年07月09日阅读:2

连接池C3P0!

连接池技术的目的:解决建立数据库连接耗费资源和时间很多的问题,提高性能 !

下面以案例演示下C3P0的操作流程.

1、测试准备:

①MySql数据库一枚
②database名为mytest

③项目工程

2、代码展示

pom.xml的部分代码

commons-dbutils commons-dbutils 1.7


com.mchange c3p0 0.9.5.4

c3p0-config.xml

com.mysql.cj.jdbc.Driver jdbc:mysql://1.11.85.XX:3307/mytest?characterEncoding=utf8&useSSL=false root 123456 3 5 2 10

JdbcUtils.java

package apitest.utils;

import java.sql.Connection;
import java.sql.SQLException;

import javax.sql.DataSource;

import com.mchange.v2.c3p0.ComboPooledDataSource;

public class JdbcUtils {
public static final ComboPooledDataSource ds_deault = new ComboPooledDataSource(); //统一数据连接关联

public static DataSource getDataSource(String type) {  
    if("mysql".equals(type)) {  
        return ds\_mysql;  
    }else if ("mysql2".equals(type)) {  
        return ds\_mysql2;  
    }

    return ds\_deault;

}

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

public static Connection getConnection(String type) throws SQLException {  
    return getDataSource(type).getConnection();  
}

public static Connection getConnection() throws SQLException {  
    return getDataSource("").getConnection();  
}  

}

public class DbCheckUtils {

public  static boolean dbCheck(String dbCheck) throws SQLException {  
    if(StringUtils.isNotBlank(dbCheck)) {  
      String\[\] dbcheck\_array=dbCheck.split(",");  
      String sql=dbcheck\_array\[0\];  
      sql=ParamsUtils.replace(sql);  
      QueryRunner runner=null;  
      if(dbcheck\_array.length<=2) {  
           runner = new QueryRunner(JdbcUtils.getDataSource());  
      }else {  
           runner = new QueryRunner(JdbcUtils.getDataSource(dbcheck\_array\[2\]));  
      }

       System.out.println("sql "+sql);  
       List<Map<String, Object>> list =  runner.query(sql, new MapListHandler());  
       JsonCheckResult jsonrResult= CheckPointUtils.check(JSON.toJSONString(list), dbcheck\_array\[1\]);  
       return jsonrResult.isResult();  
    }  
    return false;  
}

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章