C3p0连接池使用
package jdbc;
import com.mchange.v2.c3p0.ComboPooledDataSource;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.SQLException;
public class C3p0 {
public static Connection getConnection1() throws Exception {
ComboPooledDataSource dataSource = new ComboPooledDataSource();
dataSource.setDriverClass("com.mysql.cj.jdbc.Driver");
dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/book?useUnicode=true&characterEncoding=utf8");
dataSource.setUser("root");
dataSource.setPassword("123456");
dataSource.setInitialPoolSize(10);
return dataSource.getConnection();
}
private static DataSource dataSource = null;
static {
dataSource = new ComboPooledDataSource("c3p0");
}
public static Connection getConnection2() {
Connection connection = null;
try {
connection = dataSource.getConnection();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
return connection;
}
}
c3p0-config.xml
<?xml version="1.0" encoding="utf-8"?>
<c3p0-config>
<named-config name="c3p0">
<property name="user">root</property>
<property name="password">123456</property>
<property name="jdbcUrl">jdbc:mysql://localhost:3306/book</property>
<property name="driverClass">com.mysql.cj.jdbc.Driver</property>
<property name="acquireIncrement">5</property>
<property name="initialPoolSize">5</property>
<property name="minPoolSize">5</property>
<property name="maxPoolSize">10</property>
<property name="maxStatements">20</property>
<property name="maxStatementsPerConnection">5</property>
</named-config>
</c3p0-config>