`
flash7783
  • 浏览: 309423 次
  • 性别: Icon_minigender_1
  • 来自: 南昌
社区版块
存档分类
最新评论

c3p0, dbcp 开源的连接池开源连接使用

    博客分类:
  • mvc
阅读更多

自己要实现一个连接池太复杂了!要考虑的东西太多,比如:连接对象的 close 方法处理、物理连接中断时处理、
数据库连接池耗尽了之后如何处理等等诸如此类的问题。

建议使用 c3p0, dbcp 等等这些开源的连接池。

下面这个是 c3p0 的,使用 ConnectionFactory.getConnection() 获得连接之后其他与 JDBC 一样使用。

Java code
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->import java.beans.PropertyVetoException; import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.SQLException; import org.apache.log4j.Logger; import com.bao.config.Config; import com.mchange.v2.c3p0.ComboPooledDataSource; public class ConnectionFactory { private final static Logger LOG = Logger.getLogger(ConnectionManager.class); private static ComboPooledDataSource ds = new ComboPooledDataSource(); private ConnectionFactory() { } static { try { if(LOG.isDebugEnabled()) { LOG.debug("正在初始化数据连接池"); } Config config = Config.getInstance(); // c3p0 的 DataSource 设置,其他的参数还有很多,参考 c3p0 文档 ds.setDriverClass(config.getJdbcDriver()); // JDBC 驱动 ds.setJdbcUrl(config.getJdbcUrl()); // JDBC URL ds.setUser(config.getDatabaseUsername()); // 数据库连接用户名 ds.setPassword(config.getDatabasePassword()); // 数据库连接用户名的密码 ds.setMaxPoolSize(config.getDatabasePoolMaxSize()); // 最大连接数 ds.setMinPoolSize(config.getDatabasePoolMinSize()); // 最小连接数 if(LOG.isDebugEnabled()) { LOG.debug("数据连接池初始化完成" + ", 最大可用连接数:" +ds.getMaxPoolSize() + ", 最小连接数:" + ds.getMinPoolSize()); } } catch (PropertyVetoException e) { LOG.error("连接池初始化失败,原因:" + e.getMessage()); e.printStackTrace(); } } public static Connection getConnection() throws SQLException { return ds.getConnection(); } }
分享到:
评论

相关推荐

    c3p0和DBCP数据库连接池jar包和源码

    c3p0和DBCP(BasicDataSource)是两个广泛应用的开源数据库连接池实现。 c3p0是一个完全开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。c3p0-0.9.5.2.jar包含了c3p0的运行时库,而...

    数据库连接池资源包(c3p0 , dbcp,druid连接池)

    本资源包包含三个主流的数据库连接池实现:c3p0、dbcp和Druid。它们各有特点,适应不同的应用场景。 1. **c3p0**:全称为Com形3P0,是由Miquel Arquero开发的一个开源的JDBC连接池。c3p0提供了完善的连接池管理和...

    c3p0_java开源连接池中文指南

    **c3p0 Java 开源连接池中文指南** 在Java应用程序开发中,数据库连接管理是一项重要的任务,因为频繁地创建和关闭数据库连接会消耗大量资源并可能导致性能下降。为了解决这个问题,开发者通常会使用数据库连接池,...

    开源数据库连接池c3p0

    开源数据库连接池c3p0是一款广泛应用于Java后端开发中的数据库连接管理工具,它能够有效地管理和优化数据库连接,提高应用的性能和响应速度。c3p0的主要功能包括连接池的创建、维护以及自动回收资源,使得多个并发...

    数据库连接池dbcp和c3p0jar包

    DBCP(Apache Commons DBCP)和C3P0是两种常见的开源数据库连接池实现,它们允许开发者有效地管理和重用数据库连接,避免了每次请求数据库时创建新的连接,从而降低了系统的资源消耗。 DBCP,全称为Apache Commons ...

    c3p0 还有其他连接池

    c3p0是一款开源的Java数据库连接池实现,由Miquel Arquero创建,它是Comprehensive Database Connection Pooling的缩写。c3p0提供了对JDBC数据库连接的池化管理,其主要功能包括: 1. **连接初始化**:c3p0允许配置...

    c3p0连接池jar包

    - C3P0:作为一款开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。 2. **C3P0功能特点**: - 自动管理连接:C3P0可以自动检测并修复失效的数据库连接,防止因长时间未使用的连接...

    DBCP,c3p0连接池所需要的包

    DBCP(Jakarta DBCP)和c3p0是两种常用的开源数据库连接池实现。 DBCP,全称Jakarta Commons DBCP,是Apache软件基金会下的一个项目,它基于Apache的Jakarta POI项目中的DBUtils模块发展而来。DBCP提供了一个可配置...

    c3p0连接池插件

    c3p0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。作为一个数据库连接池,c3p0的主要作用在于管理数据库连接,以提高应用程序的性能和效率。在高并发的Web应用中,频繁地...

    c3p0、proxool、dbcp数据库连接池

    本文将深入探讨三个常用的数据库连接池:C3P0、DBCP和Proxool,以及如何结合Log4j2进行日志记录。 ### C3P0 C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。C3P0的核心...

    c3p0数据库连接池

    c3p0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。c3p0的主要功能是管理数据库连接,通过复用已存在的连接来提高数据库访问效率,减少系统资源消耗,同时提供了一套完善的...

    c3p0连接池工具

    c3p0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。c3p0的主要功能是管理数据库连接,提高数据库访问效率,避免因为频繁创建和销毁数据库连接而造成大量的系统资源浪费。在高...

    连接池(内含dbcp c3p0)jar包

    "连接池(内含dbcp c3p0)jar包" 提供了两个著名的Java数据库连接池实现:Apache DBCP(Database Connection Pool)和C3P0,这两个库的jar文件被封装在一起,便于开发者快速引入到他们的项目中。 **Apache DBCP** ...

    c3p0数据库连接池jar包

    C3P0数据库连接池是一个开源的Java连接池实现,由Miquel Arroyo创建,主要用于管理和优化数据库连接。在Java应用中,数据库连接的建立、关闭和管理是一个耗时的过程,而C3P0则通过提供连接池功能,提高了数据库操作...

    Druid连接池以及C3P0

    本文将详细介绍两种广泛使用的数据库连接池——Druid和C3P0,以及它们的主要特点和使用场景。 **Druid连接池** Druid是由阿里巴巴开源的高性能、功能强大的数据库连接池。它不仅提供了基础的数据库连接池功能,还...

    DBCP,C3P0数据库连接池jar包

    DBCP(Jakarta DBCP)和C3P0是两种常用的数据库连接池实现,它们在提高应用程序效率、优化数据库资源使用方面起到了重要作用。 **DBCP(Jakarta DBCP)** DBCP是Apache软件基金会的一个项目,全称为Jakarta ...

    C3P0连接池jar包.rar

    C3P0连接池是一个开源的Java数据库连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。在Java应用程序中,数据库连接的创建和销毁是耗时操作,而连接池则可以有效地管理这些连接,避免频繁地创建和...

    c3p0jar包下载、c3p0连接池

    2. **c3p0 jar包**: 使用c3p0连接池,需要引入c3p0的jar包,该包包含了c3p0的所有类和接口,使得我们可以方便地在项目中使用c3p0的功能。 ### c3p0的下载与集成 1. **下载**: c3p0的jar包可以在官方网站或者通过...

    DBCP+C3P0+BoneCP连接池参数说明

    C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,提供了比DBCP更丰富的配置选项。以下是一些重要参数: 1. **classLoader**: 自定义类加载器,用于加载JDBC驱动。 2. **driverClass**: 同DBCP的`...

Global site tag (gtag.js) - Google Analytics