JDBC利用C3P0数据库连接池连接数据

网友投稿 448 2023-07-26

JDBC利用C3P0数据库连接池连接数据库

JDBC利用C3P0数据库连接池连接数据库

JDBC之C3P0数据库连接池,供大家参考,具体内容如下

1 首先在src中创建c3p0-config.xml 配置文件,文件中内容如下(首先-C3P0.jar工具包 并放入项目环境变量中)

com.mysql.jdbc.Driver

jdbc:mysql:localhost:3306/jdbc_01

root

root

5

10

5

100

2

5

2 创建一个工具类用于利用C3P0数据库连接池获得数据库连接 工具类如下

package cn.qhy.jdbc;

importhttp:// java.io.IOException;

import java.lang.reflect.Field;

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.ResultSetMetaData;

import java.sql.SQLException;

import java.sql.Statement;

import java.util.HashMap;

import java.util.Map;

import java.util.Map.Entry;

import javax.sql.DataSource;

import com.mchange.v2.c3p0.ComboPooledDataSource;

public class MyDBUtils {

private static DataSource dataSource;

static {// 静态代码块,只执行一次

dataSource = new ComboPooledDataSource("MySQL");

}

/**

*

* @return

* @throws SQLException

*/

public static Connection getConnection() throws SQLException {

return dataSource.getConnection();

}

/**

* 通用的用来关闭数据有关的所有的资源的操作

*/

public static void close(Connection conn, Statement sta, ResultSet re) {

if (re != null)

try {

re.close();

} catch (SQLException e) {

e.printStackTrace();

}

if (sta != null)

try {

sta.close();

} catch (SQLException e) {

e.printStackTrace();

}

if (conn != null)

try {

conn.close();

} catch (SQLException e) {

e.printStackTrace();

}

}

}

3 创建测试类,测试C3P0是否连接数据库(利用JUnit单元测试)

package cn.qhy.test;

import java.beans.PropertyVetoException;

import java.sql.Connection;

import java.sql.SQLException;

import org.junit.jupiter.api.Test;

import com.mchange.v2.c3p0.ComboPooledDataSource;

import cn.qhy.jdbc.MyDBUtils;

public class C3P0Test {

/**

* @throws SQLException

*

*/

@Test

public void c3p0xmlTest() throws SQLException {

Connection conn = MyDBUtils.getConnection();

System.out.println(conn);

conn.close();

}

}

结果如下

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:tk.mybatis扩展通用接口使用详解
下一篇:在logback.xml中自定义动态属性的方法
相关文章

 发表评论

暂时没有评论,来抢沙发吧~