Java JDBC体系结构子系统

Java JDBC体系结构子系统,java,jdbc,driver,Java,Jdbc,Driver,我试图理解JDBC技术。我阅读了网上的资料,其中大部分都谈到: 1) JDBCAPI 2) 司机经理 3) 司机 我看到了以下架构图: 根据JDBC规范,与JDBC相关的东西在java.sql和javax.sql包中。我有以下问题: 1) 在图中,当我们看到JDBCAPI时,它们到底是什么?这些是java.sql中的类/接口;javax.sql?这些是否直接用于应用程序?谁实现了JDBCAPI 2) JDK是否提供java.sql中定义的所有类/接口的实现;javax.sql 3) 谁实现JD

我试图理解JDBC技术。我阅读了网上的资料,其中大部分都谈到:

1) JDBCAPI

2) 司机经理

3) 司机

我看到了以下架构图:

根据JDBC规范,与JDBC相关的东西在java.sql和javax.sql包中。我有以下问题:

1) 在图中,当我们看到JDBCAPI时,它们到底是什么?这些是java.sql中的类/接口;javax.sql?这些是否直接用于应用程序?谁实现了JDBCAPI

2) JDK是否提供java.sql中定义的所有类/接口的实现;javax.sql

3) 谁实现JDBC驱动程序管理器?它是由JDK本身提供的还是由数据库供应商提供的?它是作为一个进程运行还是只是一个类/接口

4) 司机到底是什么?据我所知,驱动程序与数据库服务器通信,并且由数据库供应商提供?现在,这些驱动程序是否实现了java.sql;javax.sql?或者驱动程序是否有与java.sql无关的不同类;javax.sql?JDBCAPI(在上图中)和驱动程序之间有关系吗

  • JDBCAPI是java.sql和javax.sql中的类和接口
  • 没有
  • 驱动程序管理器是类
    java.sql.DriverManager
    ,它是JRE/JDK的一部分
  • 驱动程序用java(x).sql实现接口。最重要的是,驱动程序创建了
    java.sql.Connection
    的intance
  • JDBCAPI是java.sql和javax.sql中的类和接口
  • 没有
  • 驱动程序管理器是类
    java.sql.DriverManager
    ,它是JRE/JDK的一部分
  • 驱动程序用java(x).sql实现接口。最重要的是,驱动程序创建了
    java.sql.Connection
    的intance

  • JDBC API由两个包组成:

  • java.sql:包含主要类和接口;例如,驱动程序、连接、语句、结果集、PreparedStatement和CallableStatement等类都包含在这个包中
  • sql:包含更具体的类,如行集、数据源或PooledConnection 这些包包含从数据库访问数据所需的所有类和接口。但是,它们还不够,因为缺少实现JDBC的类和接口,这些类和接口允许连接到不同的DBMA,所以我们需要一个驱动程序

    在访问类型的功能中有4种类型的驱动程序:

    -类型1:JDBC-ODBC -类型2:JDBClibdbma -类型3:JDBC-中间件驱动程序(类型1,2,4)-DBMA -类型4:JDBC-DBMA(直接)

    要与java应用程序和db建立连接,您必须: 首先加载包。 第二,加载驱动程序。
    因此,为了回答您的问题,JDBC驱动程序不是由JDK本身提供的(需要从和其他来源下载),JDK也没有提供java.sql中定义的所有类/接口的实现;javax.sq,因为您必须导入它们。

    JDBC API由两个包组成:

  • java.sql:包含主要类和接口;例如,驱动程序、连接、语句、结果集、PreparedStatement和CallableStatement等类都包含在这个包中
  • sql:包含更具体的类,如行集、数据源或PooledConnection 这些包包含从数据库访问数据所需的所有类和接口。但是,它们还不够,因为缺少实现JDBC的类和接口,这些类和接口允许连接到不同的DBMA,所以我们需要一个驱动程序

    在访问类型的功能中有4种类型的驱动程序:

    -类型1:JDBC-ODBC -类型2:JDBClibdbma -类型3:JDBC-中间件驱动程序(类型1,2,4)-DBMA -类型4:JDBC-DBMA(直接)

    要与java应用程序和db建立连接,您必须: 首先加载包。 第二,加载驱动程序。
    因此,为了回答您的问题,JDBC驱动程序不是由JDK本身提供的(需要从和其他来源下载),JDK也没有提供java.sql中定义的所有类/接口的实现;javax.sq'因为您必须导入它们。

    感谢您的回复。这意味着DriverManager不是“驱动程序”的一部分?和“驱动程序”实现了javax.sql和java.sql的一些类/接口?DriveManager不是choosen_的一部分驱动程序是java的API()中的一个类,驱动程序是必须添加到IDE中的.jar文件。在执行时,DriveManager的主要功能是加载choosen_驱动程序,以允许访问数据库并与java应用程序关联。对于第二个问题,例如“是”,choosen_驱动程序实现了java.sql包中的接口驱动程序。感谢您的回答。这意味着DriverManager不是“驱动程序”的一部分?和“驱动程序”实现了javax.sql和java.sql的一些类/接口?DriveManager不是choosen_的一部分驱动程序是java的API()中的一个类,驱动程序是必须添加到IDE中的.jar文件。在执行时,DriveManager的主要功能是加载choosen_驱动程序,以允许访问数据库并与java应用程序关联。对于第二个问题,“是”,例如,choosen_驱动程序实现了java.sql包中的接口驱动程序