一、导入三个jar包
mysql—jdbc.jar包,c3p0.jar包,mchange-common.jar包
下载地址:https://pan.baidu.com/s/1NlbnYL3-JxhQoLFyMmqVow
二、编辑配置文件
创建c3p0-config.xml文件(名字不能打错了,必须为此文件名),并将配置文件存入src根目录下。
源代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>
<default-config>
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="jdbcUrl">jdbc:mysql://localhost:3306/mytest</property>
<property name="user">root</property>
<property name="password">000000</property>
<property name="initialPoolSize">5</property>
<property name="maxPoolSize">20</property>
</default-config>
<named-config name="test">
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="jdbcUrl">jdbc:mysql://localhost:3306/mytest</property>
<property name="user">root</property>
<property name="password">000000</property>
</named-config>
</c3p0-config>
三、创建c3p0Utils.java工具类
代码如下:
package utils;
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 C3P0Utils {
// 1.使用默认配置
private static ComboPooledDataSource dataSource = new ComboPooledDataSource();
// 使用自定义名的配置文件
// private static ComboPooledDataSource dataSource=new
// ComboPooledDataSource("test");
// 2.获得数据源
public static DataSource getDataSource() {
return dataSource;
}
// 3.获得连接
public static Connection getConnection() {
try {
return dataSource.getConnection();
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
// 4.释放资源
public static void release(Connection conn, PreparedStatement pstmt, ResultSet rs) {
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (pstmt != null) {
try {
pstmt.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
四、测试工具类
在view包下创建一个test.java文件,用于测试c3p0工具类。
代码如下:
package view;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import utils.C3P0Utils;
public class test {
static Connection conn = null;
static PreparedStatement pstmt = null;
static ResultSet rs = null;
public static void main(String[] args) {
testjdbc();
Insert("苏珊");
}
public static void testjdbc() {
conn = C3P0Utils.getConnection();
if (conn != null) {
System.out.println("连接成功");
} else {
System.out.println("连接失败");
}
}
public static void Insert(String name) {
// 1.获得连接
conn = C3P0Utils.getConnection();
// 2.创建sql语句
String sql = "INSERT INTO test VALUES(?)";
// 3.传递数据
try {
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, name);
// 4.返回结果集
int row = pstmt.executeUpdate();
if (row > 0) {
System.out.println("插入成功");
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
// 释放资源
C3P0Utils.release(conn, pstmt, rs);
}
}
}
五、总结错误
错误:找不到或无法加载主类
解决办法:
1.clean所有类
2.在项目下Build Path中查看libraries中是否有错误的jar包,将其移除。
3.查看是否看jdk不对,修改jdk版本