JDBC之C3P0数据库连接池,供大家参考,具体内容如下
1首先在src中创建c3p0-config。xml配置文件,文件中内容如下(首先下载C3P0。jar工具包并放入项目环境变量中)
& lt; & # 63; xml version=" 1.0 " encoding=" utf - 8 " & # 63;比; & lt; !DOCTYPE xml> & lt; c3p0-config> & lt; !——下面四个是数据库连接必须需要的东西——比; & lt; named-config name=癕ySQL”比;& lt; !——为你的数据库起一个名字,我的叫MySQL——比; & lt;属性名=" driverClass "祝辞com.mysql.jdbc.Driver & lt;属性名=" jdbcUrl "祝辞jdbc: mysql: localhost: 3306/jdbc_01 & lt;属性名="用户"祝辞root& lt; !——数据库账号——比; & lt;属性名="密码"祝辞root& lt; !——数据库密码——比; & lt; !——若数据库链接数量不足的时候,向数据库申请的连接数量——比; & lt;属性名=" acquireIncrement "祝辞5 & lt;/property> & lt; !——初始化数据库连接池连接的数量——比; & lt;属性名=" initialPoolSize "祝辞10 & lt;/property> & lt; !——数据库连接池中最小连接数——比; & lt;属性名=" minPoolSize "祝辞5 & lt;/property> & lt; !——数据库连接池中最大连接数——比; & lt;属性名=" maxPoolSize "在100 & lt;/property> & lt; !——C3P0数据库连接池可以维护的声明的数量——比; & lt;属性名=" maxStatements "祝辞2 & lt;/property> & lt; !——每个连接可同时使用声明的数量——比; & lt;属性名=" maxStatementsPerConnection "祝辞5 & lt;/property> & lt;/named-config> & lt;/c3p0-config>
2创建一个工具类用于利用C3P0数据库连接池获得数据库连接工具类如下
包cn.qhy.jdbc; 进口java.io.IOException; 进口java.lang.reflect.Field; 进口java.sql.Connection; 进口java.sql.PreparedStatement; 进口java.sql.ResultSet; 进口java.sql.ResultSetMetaData; 进口java.sql.SQLException; 进口java.sql.Statement; 进口java.util.HashMap; 进口java.util.Map; 进口java.util.Map.Entry; 进口javax.sql.DataSource; 进口com.mchange.v2.c3p0.ComboPooledDataSource; 公开课MyDBUtils { 私有静态数据源的数据源; 静态{//静态代码块,只执行一次 数据源=new ComboPooledDataSource (MySQL); }/* * * * @return * @throws SQLException异常 */公共静态连接getConnection()抛出SQLException { 返回dataSource.getConnection (); }/* * *通用的用来关闭数据有关的所有的资源的操作 */公共静态空间关闭(连接康涅狄格州、语句sta ResultSet re) { 如果(re !=null) 尝试{ re.close (); }捕捉(SQLException e) { e.printStackTrace (); } 如果(sta !=null) 尝试{ sta.close (); }捕捉(SQLException e) { e.printStackTrace (); } 如果(康涅狄格州!=null) 尝试{ conn.close (); }捕捉(SQLException e) { e.printStackTrace (); } } }
3创建测试类,测试C3P0是否连接数据库(利用JUnit单元测试)
包cn.qhy.test; 进口java.beans.PropertyVetoException; 进口java.sql.Connection; 进口java.sql.SQLException; 进口org.junit.jupiter.api.Test; 进口com.mchange.v2.c3p0.ComboPooledDataSource; 进口cn.qhy.jdbc.MyDBUtils; 公开课C3P0Test {/* * * @throws SQLException异常 * */@Test 公共空间c3p0xmlTest()抛出SQLException { 连接康涅狄格州=MyDBUtils.getConnection (); System.out.println(康涅狄格州); conn.close (); } }
结果如下
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。