c3p0连接池连接数据库

一、导入三个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版本

发布了20 篇原创文章 · 获赞 13 · 访问量 9529

猜你喜欢

转载自blog.csdn.net/qq_35653657/article/details/81739482