maven依赖:
<dependency>
<groupId>c3p0</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.1.2</version>
</dependency>
基于方法创建:
import com.mchange.v2.c3p0.ComboPooledDataSource;
import java.beans.PropertyVetoException;
import java.sql.Connection;
import java.sql.SQLException;
public class DataSource1 {
public static void main(String[] args) {
try {
ComboPooledDataSource cds=new ComboPooledDataSource();
cds.setDriverClass("com.mysql.cj.jdbc.Driver");//加载数据库驱动
cds.setJdbcUrl("jdbc:mysql://localhost:3306/库名");//地址
cds.setUser("root");//账户
cds.setPassword("密码");//密码
cds.setInitialPoolSize(20);//初始化数据库大小
cds.setAcquireIncrement(5);//连接对象不够时,再次申请连接数
cds.setMinPoolSize(5);//设置最小空闲
cds.setMaxPoolSize(30);//设置最大上限数量
bds.setMaxWaitMillis(5000);//设置最大等待时间
Connection connection=cds.getConnection();//建立连接
System.out.println(connection);
} catch (SQLException e) {
e.printStackTrace();
}catch (Exception e){
e.printStackTrace();
}
}
}
基于XML配置
import com.mchange.v2.c3p0.ComboPooledDataSource;
import java.beans.PropertyVetoException;
import java.sql.Connection;
import java.sql.SQLException;
public class DataSource1 {
public static void main(String[] args) {
try {
ComboPooledDataSource cds=new ComboPooledDataSource("hello");
Connection connection=cds.getConnection();
System.out.println(connection);
} catch (SQLException e) {
e.printStackTrace();
}
}
XML文件:
<?xml version="1.0" encoding="UTF-8" ?>
<c3p0-config>
<named-config name="hello">//ComboPooledDataSource传的参数名
<property name="driverClass">com.mysql.cj.jdbc.Driver</property>//加载数据库驱动
<property name="jdbcUrl">jdbc:mysql://localhost:3306/lll</property>//地址
<property name="user">root</property>//账户
<property name="password">密码</property>//密码
<property name="initiaPoolSize">20</property>//初始化连接池大小
<property name="acquireIncrement">5</property>//连接对象不够时,再次申请连接数
<property name="maxPoolSize">50</property>//设置最大上限数量
<property name="minPoolSize">5</property>//设置最小空闲
</named-config>
</c3p0-config>
XML文件是写死的:放在src路径下名字为:c3p0-config.xml