maven使用c3p0——详细(很详细)
在pom.xml中添加依赖
<dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency><dependency><groupId>commons-dbutils</groupId><artifactId>commons-dbutils</artifactId><version>1.6</version></dependency><dependency><groupId>com.mchange</groupId><artifactId>c3p0</artifactId><version>0.9.5.2</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.22</version></dependency>
在resources下创建c3p0-config.xml
如下图所示
文件内容
<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config><!--默认配置。详细配置可查阅在线文档:https://tool.oschina.net/apidocs/apidoc?api=c3p0 --><default-config> <property name="initialPoolSize">10</property> <property name="maxIdleTime">30</property> <property name="maxPoolSize">100</property> <property name="minPoolSize">10</property> <property name="maxStatements">200</property> </default-config> <!--配置连接池mysql--><named-config name="mysql"> <property name="driverClass">com.mysql.cj.jdbc.Driver</property> <property name="jdbcUrl">jdbc:mysql://localhost:3306/你的数据库名字?serverTimezone=GMT%2b8&useUnicode=true&characterEncoding=utf8</property> <property name="user">你的用户名</property> <property name="password">你的密码</property> <property name="initialPoolSize">10</property> <property name="maxIdleTime">30</property> <property name="maxPoolSize">100</property> <property name="minPoolSize">10</property> <property name="maxStatements">200</property> </named-config> </c3p0-config>
**
注意!!!修改成你的用户名、密码还有数据库名(其他详细配置请参考官网)
**
创建C3p0Utils.java
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;import org.apache.log4j.Logger;import com.mchange.v2.c3p0.ComboPooledDataSource;public class C3p0Utils {static Logger logger = Logger.getLogger(C3p0Utils.class.getName());//通过标识名来创建相应连接池static ComboPooledDataSource dataSource = new ComboPooledDataSource("mysql");/*** //从连接池中取用一个连接* @return*/public static Connection getConnection() {try {return dataSource.getConnection();} catch (Exception e) {logger.error("Exception in C3p0Utils!", e);}return null;}/*** 释放连接回连接池*/public static void closeAll(Connection conn, PreparedStatement pst, ResultSet rs) {if (rs != null) {try {rs.close();} catch (SQLException e) {logger.error("Exception in C3p0Utils!", e);}}if (pst != null) {try {pst.close();} catch (SQLException e) {logger.error("Exception in C3p0Utils!", e);}}if (conn != null) {try {conn.close();} catch (SQLException e) {logger.error("Exception in C3p0Utils!", e);}}}
}
现在就可以用了
也可以创建 测试用例测试
首先先检查pom.xml是否有单元测试依赖,没有则加入下面代码
<dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope></dependency>
注意标签是要放在中的
然后创建测试类
package util;import org.junit.Test;
import yashu.ltd.util.C3p0Utils;/*** @athor 牙叔* 2021/3/8*/
public class test {@Testpublic void test01(){System.out.println(C3p0Utils.getConnection());}}
查看控制台是否有输出你的连接
没连接上如下图所示:
连接上的话null的位置会有一段很长的字符,具体不一样
maven使用c3p0——详细(很详细)相关推荐
- ZK锦集:Zookeeper的下载和安装 | 真/伪集群的快速搭建| 总结的很详细
前言 文章力求:通俗易懂.图文并茂.系统全面,语言精练,主要介绍以下知识点: 1.zk基础知识铺路,做到屋里有粮,心中不慌 2.zk的下载.安装.核心参数配置.节点参数释义 3.zk集群快速搭建的两种 ...
- 很详细的SpringBoot整合UEditor教程
很详细的SpringBoot整合UEditor教程 2017年04月10日 20:27:21 小宝2333 阅读数:21529 版权声明:本文为博主原创文章,未经博主允许不得转载. https://b ...
- 使用Docker安装Gitlab,Jenkins,Tomcat搭建流水线项目环境,实现DevOps自动化步骤,很详细
使用Docker安装Gitlab,Jenkins,Tomcat搭建流水线项目,实现DevOps自动化 写在前头,入职公司不久,发现公司都是用的Jenkins来实现自动化项目部署,十分方便,但作为底层开 ...
- 调用CFCA安心签相关接口,很详细
调用安心签相关接口,很详细 一.获取CFCA安心签对接资料 二.调用接口 1.找安心签的对接人加上ip白名单 2.查询接口文档 3.查看对应的测试案例 4.导入安心签相关jar包 5.测试调用接口 6 ...
- 介绍一篇关于session的好文章,写的很详细
介绍一篇关于session的好文章,写的很详细 目录: 一.术语session 二.HTTP协议与状态保持 三.理解cookie机制 四.理解session机制 五.理解javax.servlet.h ...
- 很详细的Nginx配置说明
这篇文章主要为大家分享了一篇很详细的Nginx配置说明,主要内容包括Nginx常用功能.Nginx配置文件结构,想要了解Nginx配置的朋友不要错过,参考一下 Nginx是lgor Sysoev为俄罗 ...
- Ello讲述Haar人脸检测:易懂、很详细、值得 ...
Ello讲述Haar人脸检测:易懂.很详细.值得 ... ...
- python教程很详细_Python编程入门教程:从入门到高级,非常详细
本文的资料和内容是我下载的,觉得非常有用,于是转过来大家瞧瞧: 这里给初学Python的朋友提供一些建议和指导吧.大神请无视, 俗话说:授人以鱼不如授人以渔.所以我这里只是阐述学习过程,并不会直接详细 ...
- c语言迷宫游戏怎么存放坐标,求解迷宫问题(c语言,很详细哦
<求解迷宫问题(c语言,很详细哦>由会员分享,可在线阅读,更多相关<求解迷宫问题(c语言,很详细哦(5页珍藏版)>请在人人文库网上搜索. 1.求迷宫问题就是求出从入口到出口的路 ...
- 日志打印的8种级别(很详细)
日志打印的8种级别(很详细) 日志的输出都是分级别的,不同的设置不同的场合打印不同的日志.下面拿最普遍用的Log4j日志框架来做个日志级别的说明,其他大同小异. Log4j的级别类org.apache ...
最新文章
- 生成Rss聚合页xml内容信息
- 如何處理不同版本的 Gem 執行檔,以 Rake 0.9.0 地雷為例
- 如何理解面向过程和面向对象?
- python的read函数调用报错_从零开始学Python(七):文件存储I/O流和异常捕捉
- php中的oop,php oop有什么用?
- steam失落的方舟入库python脚本
- 高级运维需要掌握哪些技术?
- SAP License:公司上一套sap系统得多少钱?
- 【手环算法开发】--计步检测,看着篇文章就懂了
- JAVA写100以内的偶数和
- 如何快速打造一个高权重的短视频账号?短视频运营推广日记(2)
- Docker超详细的入门学习通俗易懂(第三讲)
- 计算机网络实验路由器配置
- 联盟优势电信服务器,中国电信积极推进OLA联盟行业技术标准制定 加速智能家居互联互通...
- 2022_ECCV_Video Anomaly Detection by Solving Decoupled Spatio-Temporal Jigsaw Puzzles
- Oracle生成日期列表
- Android Studio 批量修改文件名
- 卸载 2345输入法 款流氓软件
- 获取下载地址(URL)
- CH340N串口模块原理图
热门文章
- 运维的职业发展方向有哪些?该如何规划?
- Mathematica求解不定积分与定积分
- 微信小程序云开发项目——多肉植物销售小程序
- 高德地图 gps坐标偏移到火星坐标系
- HASH SEMI JOIN (semi join) 比 hash join 快!
- 关于Microsoft Edge 浏览器无法使用selenium调用问题
- VUE+ElementUI的表单el-from表单验证二选一必填项,并且满足条件后会清除表单验证提示。
- 中值滤波Median filtering
- adb 工具源码修改
- mysql删除学生记录_mysql删除重复记录语句,删除除了 id 号不同,其他都相同的学生冗余信息...