`
花荼靡
  • 浏览: 11071 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

【高手指教】请教数据库连接池技术中dbcp、c3p0、jndi三者的联系、应用范围以及优缺点是什么

 
阅读更多

【高手指教】请问数据库连接池技术中dbcp、c3p0、jndi三者的联系、应用范围以及优缺点是什么?
RT,请高手指教!


------解决方案--------------------------------------------------------
dbcp、c3p0 是两个数据库连接池  
这两个连接池都是Hibernate建议使用的连接池

DBCP是一个依赖Jakarta commons-pool对象池机制的数据库连接池,Tomcat的数据源使用的就是DBCP。

C3P0是一个开放源代码的JDBC连接池,它在lib目录中与Hibernate一起发布,包括了实现jdbc3和jdbc2扩展规范说明的Connection 和Statement 池的DataSources 对象。

JNDI(Java Naming and Directory Interface)是SUN公司提供的一种标准的Java命名系统接口,JNDI提供统一的客户端API,通过不同的访问提供者接口JNDI SPI的实现,由管理者将JNDI API映射为特定的命名服务和目录系统,使得Java应用程序可以和这些命名服务和目录服务之间进行交互。

JNDI与JDBC:
  JNDI提供了一种统一的方式,可以用在网络上查找和访问服务。通过指定一个资源名称,该名称对应于数据库或命名服务中的一个纪录,同时返回数据库连接建立所必须的信息。

参考资料:
  http://java.sun.com/products/jndi/examples.html
  http://java.sun.com/products/jndi/serviceproviders.html
常用的JNDI操作:
  void bind(String sName,Object object);――绑定:把名称同对象关联的过程
  void rebind(String sName,Object object);――重新绑定:用来把对象同一个已经存在的名称重新绑定
  void unbind(String sName);――释放:用来把对象从目录中释放出来
  void lookup(String sName,Object object);――查找:返回目录总的一个对象
  void rename(String sOldName,String sNewName);――重命名:用来修改对象名称绑定的名称
  NamingEnumeration listBinding(String sName);――清单:返回绑定在特定上下文中对象的清单列表
  NamingEnumeration list(String sName);
  代码示例:重新得到了名称、类名和绑定对象。
  NamingEnumeration namEnumList = ctxt.listBinding("cntxtName");
  ...
  while ( namEnumList.hasMore() ) {
  Binding bnd = (Binding) namEnumList.next();
  String sObjName = bnd.getName();
  String sClassName = bnd.getClassName();
  SomeObject objLocal = (SomeObject) bnd.getObject();
  }

分享到:
评论

相关推荐

    数据库连接池dbcp和c3p0jar包

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

    JAVA数据库连接池(C3P0,Druid,JNDI ,DBCP,Proxool,BoneCP)

    本文将详细介绍几个常见的Java数据库连接池实现:C3P0、Druid、JNDI、DBCP、Proxool以及BoneCP,并结合Spring+MyBatis+maven环境下的应用示例进行解析。 1. C3P0: C3P0是一个开源的JDBC连接池,它实现了数据源和...

    常用数据库连接池 (DBCP、c3p0、Druid) 配置说明1

    本文主要探讨了三个常用的数据库连接池:DBCP、c3p0和Druid,以及它们的配置说明。 1. **DBCP(Apache Commons DBCP)** DBCP是Apache Commons项目的一部分,它依赖于Apache Commons Pool对象池机制来管理数据库...

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

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

    DBCP 数据库连接池JNDI连接 学习笔记

    数据库连接池(Database Connection Pool,简称 DBCP)是一种在多用户并发访问数据库时提高数据库系统性能的技术。它通过预创建并管理一定数量的数据库连接,避免了每次连接数据库时的初始化开销,同时也能有效地...

    连接池(内含dbcp c3p0)jar包

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

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

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

    开源数据库连接池c3p0

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

    c3p0数据库连接池

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

    DBCP、C3P0,JNDI 连接池配置使用

    DBCP、C3P0,JNDI 连接池配置使用,可以参考一下。

    DBCP,C3P0数据库连接池jar包

    总的来说,DBCP和C3P0都是优秀的数据库连接池实现,各有优缺点。选择哪个取决于具体的应用场景和需求。例如,如果你需要一个更灵活的配置和更精细的控制,C3P0可能是更好的选择;而如果你更注重简单和稳定性,DBCP则...

    数据库连接池C3P0.zip

    在本压缩包“数据库连接池C3P0.zip”中,包含了C3P0数据库连接池的相关jar包以及配置文件,用于帮助开发者集成到他们的Java应用中,特别是与MYSQL数据库配合使用。 C3P0的主要特性包括: 1. **连接池管理**:C3P0...

    数据库连接池基础知识_dbcp_c3p0_简单了解

    本文将深入探讨数据库连接池的基础知识,特别是关于DBCP(Jakarta Commons DBCP)和C3P0两个流行的连接池实现。 首先,让我们了解什么是数据库连接池。数据库连接池是在应用服务器启动时创建的一组预定义的数据库...

    JDBC (c3p0、dbcp、jndi及不使用连接池)代码

    总结来说,Java连接数据库的方式多样,从基础的JDBC直接操作到使用连接池技术,如c3p0和dbcp,以及通过JNDI在应用服务器中管理数据源。根据项目需求和环境选择合适的方法,能有效提升数据库操作的效率和应用程序的...

    数据库连接池c3p0所需jar包

    数据库连接池是现代Java应用程序中管理数据库连接的重要工具,它能有效地提高系统性能,减少数据库资源的浪费。本文将深入探讨数据库连接池的概念,重点介绍C3P0连接池及其所需的JAR包。 首先,数据库连接池是一种...

    基于DBCP/c3p0/Tomcat的数据库连接池的demo

    本示例将详细介绍如何使用DBCP(Database Connection Pool)、c3p0以及Tomcat内置的数据源来实现数据库连接池的配置与使用。 **DBCP(Database Connection Pool)** DBCP是Apache软件基金会的Jakarta项目下的一个子...

    c3p0数据库连接池所需jar包

    C3P0是一个开源的Java数据库连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。在Java应用程序中,数据库连接池扮演着非常重要的角色,它能够有效地管理数据库连接,提高系统性能,减少数据库资源...

    JAVA数据库连接池

    在使用C3P0或DBCP时,我们需要配置相关的属性文件,如c3p0-config.xml或dbcp.properties,这些文件中包含了数据库连接信息以及连接池的配置参数。例如,设置初始连接数、最大连接数、超时时间等。同时,还需要在代码...

    dbcp数据库连接池

    **数据库连接池(DBCP)** 是一个在Java应用程序中管理数据库连接的工具,它能够有效地提高数据库操作的性能和效率。DBCP全称为`Jakarta Commons DBCP`,是Apache软件基金会的一个项目,提供了对数据库连接的池化...

Global site tag (gtag.js) - Google Analytics