JDBC 架构 sub-systems
JDBC architecture sub-systems
我正在尝试了解 JDBC 技术。我看了on-line个资料,其中大部分讲的是:
1) JDBC API
2) Driver经理
3) Driver
看到如下架构图:
根据 JDBC 规范,jdbc 相关内容在 java.sql 和 javax.sql 包中。我有以下问题:
1) 在图中当我们看到JDBC API时,它们到底是什么?这些是java.sql中的classes/interfaces吗? javax.sql?这些是直接在应用程序中使用的吗?谁实施 JDBC API?
2) JDK 是否提供 java.sql 中定义的所有 classes/interfaces 的实现; javax.sql?
3) 谁实施 JDBC Driver 管理器?是JDK自己提供的还是数据库厂商提供的?它 运行 作为一个过程还是只是一个 class/interface?
4) driver 到底是什么?据我了解,driver 与数据库服务器通信并由数据库供应商提供?现在,这些 driver 是否实现 java.sql ; javax.sql?或者 driver 是否有与 java.sql 无关的不同 类; javax.sql? JDBC API(上图中)和driver之间有什么关系吗?
- JDBC API 是 class 和 java.sql 和 javax.sql 中的接口。
- 没有
- 驱动程序管理器是 class
java.sql.DriverManager
,它是 JRE/JDK 的一部分。
- 驱动程序实现了 java(x).sql 中的接口。最重要的是,驱动程序创建
java.sql.Connection
. 的实例
JDBCAPI由两个包组成:
- java.sql:包含主要的类和接口;例如类 Driver, Connection, Statement, ResultSet, PreparedStatement 和 CallableStatement 都包含在这个包中。
- javax.sql:包含更具体的 类,如 RowSet、DataSource 或 PooledConnection。
这些包包含从数据库访问数据所需的所有 类 和接口。然而,它们还不够,因为缺少允许连接到不同 DBMA 的 类 和实现 JDBC 的接口,因此我们需要一个驱动程序。
访问类型函数中有4类驱动:
-类型 1:JDBC-ODBC
-类型 2:JDBC-libDBMA
-类型 3:JDBC - 中间件驱动程序(类型 1、2、4)- DBMA
-类型 4:JDBC - DBMA(直接)
要与 java 应用程序和数据库建立连接,您必须:
首先加载包。
第二加载驱动程序。
因此,为了回答您的问题,JDK 本身不提供 JDBC 驱动程序(需要从其他来源下载)并且 JDK 未提供所有 classes/interfaces 中定义的实现java.sql; javax.sq 因为你必须导入它们。
我正在尝试了解 JDBC 技术。我看了on-line个资料,其中大部分讲的是:
1) JDBC API
2) Driver经理
3) Driver
看到如下架构图:
根据 JDBC 规范,jdbc 相关内容在 java.sql 和 javax.sql 包中。我有以下问题:
1) 在图中当我们看到JDBC API时,它们到底是什么?这些是java.sql中的classes/interfaces吗? javax.sql?这些是直接在应用程序中使用的吗?谁实施 JDBC API?
2) JDK 是否提供 java.sql 中定义的所有 classes/interfaces 的实现; javax.sql?
3) 谁实施 JDBC Driver 管理器?是JDK自己提供的还是数据库厂商提供的?它 运行 作为一个过程还是只是一个 class/interface?
4) driver 到底是什么?据我了解,driver 与数据库服务器通信并由数据库供应商提供?现在,这些 driver 是否实现 java.sql ; javax.sql?或者 driver 是否有与 java.sql 无关的不同 类; javax.sql? JDBC API(上图中)和driver之间有什么关系吗?
- JDBC API 是 class 和 java.sql 和 javax.sql 中的接口。
- 没有
- 驱动程序管理器是 class
java.sql.DriverManager
,它是 JRE/JDK 的一部分。 - 驱动程序实现了 java(x).sql 中的接口。最重要的是,驱动程序创建
java.sql.Connection
. 的实例
JDBCAPI由两个包组成:
- java.sql:包含主要的类和接口;例如类 Driver, Connection, Statement, ResultSet, PreparedStatement 和 CallableStatement 都包含在这个包中。
- javax.sql:包含更具体的 类,如 RowSet、DataSource 或 PooledConnection。
这些包包含从数据库访问数据所需的所有 类 和接口。然而,它们还不够,因为缺少允许连接到不同 DBMA 的 类 和实现 JDBC 的接口,因此我们需要一个驱动程序。
访问类型函数中有4类驱动:
-类型 1:JDBC-ODBC -类型 2:JDBC-libDBMA -类型 3:JDBC - 中间件驱动程序(类型 1、2、4)- DBMA -类型 4:JDBC - DBMA(直接)
要与 java 应用程序和数据库建立连接,您必须: 首先加载包。 第二加载驱动程序。 因此,为了回答您的问题,JDK 本身不提供 JDBC 驱动程序(需要从其他来源下载)并且 JDK 未提供所有 classes/interfaces 中定义的实现java.sql; javax.sq 因为你必须导入它们。