1.导入两个jar包 :c3p0及mchange包
2. 在src路径下创建c3p0-config.xml,注意名字固定,不能自己随意取,不然识别不了
<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>
<default-config>
<!--mysql数据库连接的各项参数-->
<context:property-placeholder location="classpath:c3p0config.properties"/>
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="jdbcUrl">jdbc:mysql://localhost:3306/springmvc</property>
<property name="user">root</property>
<property name="password">root</property>
<!--配置数据库连接池的初始连接数、最小链接数、获取连接数、最大连接数、最大空闲时间-->
<property name="initialPoolSize">10</property>
<property name="minPoolSize">10</property>
<property name="acquireIncrement">5</property>
<property name="maxPoolSize">100</property>
<property name="maxIdleTime">30</property>
<property name="idleConnectionTestPeriod">18000</property>
</default-config>
</c3p0-config>
3.编写测试类
package com.Jdbc;
import java.sql.Connection;
import javax.sql.DataSource;
import org.junit.Test;
import com.mchange.v2.c3p0.ComboPooledDataSource;
public class C3p0Util {
DataSource dataSource = new ComboPooledDataSource();
@Test
public void sd() throws Exception{
Connection connection = dataSource.getConnection();
System.out.println(connection);
}
}
输出连接字符串则表示成功
4.测试通过,封装成c3p0工具类
package com.Jdbc;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.sql.DataSource;
import com.mchange.v2.c3p0.ComboPooledDataSource;
public class C3p0Util {
private static DataSource dataSource = new ComboPooledDataSource();
//获取c3p0连接池连接的方法
public static DataSource getDataSource(){
return dataSource;
}
//获得数据库连接的方法
public static Connection getconnection(){
Connection connection = null;
try {
connection = dataSource.getConnection();
} catch (SQLException e) {
e.printStackTrace();
}
return connection;
}
//关闭数据库连接、数据预编译作工具、数据操作读取工具
public void clos(Connection ct,PreparedStatement ps,ResultSet rs){
if(ct!=null){
try {
ct.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(ps!=null){
try {
ct.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(rs!=null){
try {
ct.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
5.编写查询测试类
package com.util;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.junit.Test;
import com.Jdbc.C3p0Util;
public class TestAll {
@Test
public void sad() throws SQLException{
C3p0Util util = new C3p0Util();
Connection connection = util.getconnection();
PreparedStatement ps = connection.prepareStatement("select * from user");
ResultSet rs = ps.executeQuery();
while(rs.next()){
System.out.println(rs.getString("username"));
System.out.println(rs.getString("password"));
}
}
}
6.成功输出数据库数据