在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 {
@Test
public void test01(){
System.out.println(C3p0Utils.getConnection());
}
}
查看控制台是否有输出你的连接
没连接上如下图所示:
连接上的话null的位置会有一段很长的字符,具体不一样
版权声明:本文为qq_45738151原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。