连接池-DBCPUtils工具类(dbcp)
发布日期:2021-06-30 18:40:59 浏览次数:6 分类:技术文章

本文共 2649 字,大约阅读时间需要 8 分钟。

一、合建properties文件

在src目录下创建一个名为“dbcpconfig.properties”的文件,里面的内容为:

#连接设置driverClassName=com.mysql.jdbc.Driverurl=jdbc:mysql://localhost:3306/数据库名username=rootpassword=#
initialSize=10#最大连接数量maxActive=50#
maxIdle=20#
minIdle=5#
maxWait=60000#JDBC驱动建立连接时附带的连接属性属性的格式必须为这样:[属性名=property;] #注意:"user" 与 "password" 两个属性会被明确地传递,因此这里不需要包含他们。connectionProperties=useUnicode=true;characterEncoding=utf8#指定由连接池所创建的连接的自动提交(auto-commit)状态。defaultAutoCommit=true#driver default 指定由连接池所创建的连接的只读(read-only)状态。#如果没有设置该值,则“setReadOnly”方法将不被调用。(某些驱动并不支持只读模式,如:Informix)defaultReadOnly=#driver default 指定由连接池所创建的连接的事务级别(TransactionIsolation)。#可用值为下列之一:(详情可见javadoc。)NONE,READ_UNCOMMITTED, READ_COMMITTED, REPEATABLE_READ, SERIALIZABLEdefaultTransactionIsolation=REPEATABLE_READ

二、创建DBCPUtils

/** * @author CSDN_LQR * @TODO dbcp工具类(数据库连接池工具),用于管理多个数据库连接对象 */public class DBCPUtils {
static DataSource ds = null; static { try { // 得到配置文件 Properties prop = new Properties(); prop.load(DBCPUtils.class.getClassLoader().getResourceAsStream( "dbcpconfig.properties")); // 根据配置文件创建数据库连接池(数据源) ds = BasicDataSourceFactory.createDataSource(prop); } catch (Exception e) { throw new ExceptionInInitializerError("DBCP初始化异常,请检查配置文件!!!"); } } /** * 得到数据库连接对象 * * @return */ public static Connection getConnection() { try { return ds.getConnection(); } catch (SQLException e) { throw new RuntimeException("服务器忙。。。"); } } /** * 关闭所有资源连接 * * @param conn * @param ps * @param rs */ public static void releaseAll(Connection conn, Statement ps, ResultSet rs) { if (conn != null) { try { conn.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } conn = null; } if (ps != null) { try { ps.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } ps = null; } if (rs != null) { try { rs.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } rs = null; } }}

三、注意

1、release()方法中的conn.close()并不是直接关闭数据库的Connection对象,而是将Connection对象放回到连接池中(这里使用了装饰模式,改变close的原来作用)。

2、使用dbcp需要导入三个jar包,分别是
3、该DBCPUtils与的不同在于,前者加入了连接池管理Connection对象,提高了性能。

转载地址:https://linqiarui.blog.csdn.net/article/details/52875985 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:连接池-C3P0Utils工具类(c3p0)
下一篇:数据库连接池

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2024年04月01日 08时50分32秒