• JNDI 、C3P0 、DBCP、JDBC、ODBC的区别


    JNDI 即 Java Naming and Directory Interface,中文叫Java命名和目录接口,是一组在Java应用中访问命名和目录服务的API。

    DBCP和 C3p0  这两个是缓存的lib,一般和Hibernate等这样的中间件组合使用

    JDBC 是JAVA连接数据库的组件,再加上驱动,就可以连接各种数据库。

    ODBC  是WINDOWS平台的一个数据库连接标准,使用越来越少了。


    1.基于JNDI 、C3P0 、DBCP技术的数据连接池

    (1)JNDI(Java Naming and Directory Interface ):是SUN公司提供的一种标准的Java命名系统接口,是一组在Java应用中访问命名和目录服务的API。命名服务是将名称和对象联系起来,使得我们可以用名称访问对象。目录服务是一种命名服务,它提供了应用编程接口(application
    programming interface,API)和服务提供者接口(service provider interface,SPI)。这一点的真正含义是,要让应用与命名服务或目录服务交互,必须有这个服务的JNDI服务提供者,这正是JNDI
    SPI发挥作用的地方。服务提供者基本上是一组类,这些类为各种具体的命名和目录服务实现了JNDI接口—很象JDBC驱动为各种具体的数据库系统实现了JDBC接口一样。作为一个应用开发者,不必操心JNDI
    SPI。只需要确认要使用的每一个命名或目录服务都有服务提供者。

    (2)C3P0:连接池作者是《星球大战》迷,C3P0就是其中的一个机器人,并且这个名称中包涵connection 和pool的单词字母。因此叫这个名字。 

    (3)DBCP(DataBase connection pool):是 apache 上的一个 java 连接池项目,也是 tomcat
    使用的连接池组件。单独使用dbcp需要3个包:common-dbcp.jar,common-pool.jar  ,common-collections.jar
     (4)JDBC(Java DataBase 
    Connectivity)是Java与数据库的接口规范,JDBC定义了一个支持标准SQL功能的通用低层的应用程序编程接口(API),它由Java 
    语言编写的类和接口组成,旨在让各数据库开发商为Java程序员提供标准的数据库API。 JDBC 
    API定义了若干Java中的类,表示数据库连接、SQL指令、结果集、数据库元数据等。它允许Java程序员发送SQL指令并处理结果。通过驱动程序管理器,JDBC 
    API可利用不同的驱动程序连接不同的数据库系统。
     (5)ODBC(Open DataBase 
    Connectivity)是微软倡导的、当前被业界广泛接受的、用于数据库访问的应用程序编程接口(API),它以X/Open和 
    ISO/IEC的调用级接口(CLI)规范为基础,并使用结构化查询语言(SQL)作为其数据库访问语言。 ODBC总体结构有四个组件:

    区别和联系:
    JDBC与ODBC都是基于X/Open的SQL调用级接口, 
    JDBC的设计在思想上沿袭了ODBC,同时在其主要抽象和SQL 
    CLI实现上也沿袭了ODBC,这使得JDBC容易被接受。JDBC的总体结构类似于ODBC,也有四个组件:应用程序、驱动程序管理器、驱动程序和数据源。
    JDBC保持了ODBC的基本特性,也独立于特定数据库。

  • 相关阅读:
    TypeScript基础
    Linux之iptables打开所有进/出端口
    01分数规划与图论
    【电子学会】2023年03月图形化四级 -- 求和
    yii2 field 条件筛选
    C. Water the Trees Educational Codeforces Round 126 (Rated for Div. 2)
    【Spring Cloud】深入探索 Nacos 注册中心的原理,服务的注册与发现,服务分层模型,负载均衡策略,微服务的权重设置,环境隔离
    Java SE 17 新增特性
    如何使用pywinauto打开Windows上指定的应用程序
    [手写spring](3)初始化singletonObjects,实现依赖注入
  • 原文地址:https://blog.csdn.net/caryxp/article/details/133294215