直接将代码写道DataSourceTest中,具体代码如下:
package com.begoniaflower.test;
import com.mchange.v2.c3p0.ComboPooledDataSource;
import java.beans.PropertyVetoException;
import java.sql.Connection;
import java.sql.SQLException;
public class test {
public static void main(String[] args) {
try {
ComboPooledDataSource dataSource = new ComboPooledDataSource();
dataSource.setDriverClass("com.mysql.cj.jdbc.Driver");
dataSource.setJdbcUrl("你自己的JDBCUrl路径");
dataSource.setUser("数据库用户名");
dataSource.setPassword("数据库密码");
dataSource.setInitialPoolSize(10);
dataSource.setMaxPoolSize(30);
dataSource.setMinPoolSize(2);
dataSource.setAcquireIncrement(5);
Connection connection = dataSource.getConnection();
System.out.println(connection);
connection.close();
}catch (SQLException e) {
e.printStackTrace();
}catch (PropertyVetoException e) {
e.printStackTrace();
// }
}
}
}
运行结果如下:
当使用xml文件进行配置的时候,需要注意两点,第一点是xml文件的命名,第二点是xml需要放置的位置。
c3p0配置的xml文件的命名必须是:c3p0-config.xml
文件中的模板:
<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>
<named-config name="testc3p0">
<!-- 指定连接数据源的基本属性 -->
<property name="user">root</property>
<property name="password">123456</property>
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="jdbcUrl">jdbc:mysql://localhost:3306/test?serverTimezone=GMT%2B8&useSSL=false&characterEncoding=UTF-8</property>
<!-- <!– 若数据库中连接数不足时, 一次向数据库服务器申请多少个连接 –>-->
<!-- <property name="acquireIncrement">5</property>-->
<!-- <!– 初始化数据库连接池时连接的数量 –>-->
<!-- <property name="initialPoolSize">5</property>-->
<!-- <!– 数据库连接池中的最小的数据库连接数 –>-->
<!-- <property name="minPoolSize">5</property>-->
<!-- <!– 数据库连接池中的最大的数据库连接数 –>-->
<!-- <property name="maxPoolSize">10</property>-->
</named-config>
</c3p0-config>
其中可以根据自己的需要进行配置
对于idea中xml的放置位置需要放到src中,如果你的idea版本中在src路径中有resources文件夹那就放置到其中,如果没有则可以直接放到src中即可,但还是要看情况,如果本身没有resources文件夹,但放置在src中是,DataSourceTest代码中并不能找到xml文件,则需要自己创建一个resources文件,将xml文件放入其中即可。
例图:
当使用xml文件后,DataSourceTest.java中的代码就可以写为下方的样式,结果是相同的:
public class DataSourceTest {
public static void main(String[] args) {
try {
ComboPooledDataSource dataSource = new ComboPooledDataSource("testc3p0");
Connection connection = dataSource.getConnection();
System.out.println(connection);
connection.close();
}catch (SQLException e) {
e.printStackTrace();
}
}
}