第一步:创建配置文件c3p0-config.xml
<?xml version="1.0" encoding="UTF-8" ?>
<c3p0-config>
<named-config name="wong">
<!--数据库驱动-->
<property name="driverClass">com.mysql.cj.jdbc.Driver</property>
<!--数据库连接-->
<property name="jdbcUrl">jdbc:mysql://localhost:3306/javaweb?serverTimezone=GMT%2B8&characterEncoding=utf-8</property>
<!--用户名-->
<property name="user">root</property>
<!--密码-->
<property name="password">root</property>
<!--自动增量-->
<property name="acquireIncrement">5</property>
<!--初始化连接数-->
<property name="initialPoolSize">20</property>
<!--最小连接数-->
<property name="minPoolSize">10</property>
<!--最大连接数-->
<property name="maxPoolSize">40</property>
<!--标准参数 控制prepareStatement数量-->
<property name="maxStatements">0</property>
<!--单个连接所拥有的最大缓存Statement数量-->
<property name="maxStatementsPerConnection">5</property>
</named-config>
</c3p0-config>
第二步 获取c3p0数据连接池
public class getC3p0 {
private static ComboPooledDataSource dataSource = new ComboPooledDataSource("wong");
public static DataSource getDataSource(){
return dataSource;
}
}
第三步 创建查询运行器对象
static QueryRunner runner = new QueryRunner(getC3p0.getDataSource());
public static List<Student> selectAll(){
String sql = "select * from t_student";
List<Student> query = null;
try {
query = runner.query(sql, new BeanListHandler<>(Student.class));
} catch (SQLException throwables) {
throwables.printStackTrace();
}
return query;
}
使用到的jar包
- c3p0-0.9.2-pre5.jar
- commons-dbutils-1.6.jar
- mchange-commons-java-0.2.3.jar