JDBC架构子系统

时间:2016-01-06 11:48:08

标签: java jdbc driver

我正在尝试理解JDBC技术。我阅读了在线资料,其中大部分内容涉及:

1)JDBC API

2)DriverManager

3)司机

我看到了以下架构图:

JDBC architecture

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

1)在我们看到JDBC API的图表中,它们究竟是什么?这些是java.sql中的类/接口; javax.sql中?这些直接用于应用程序吗?谁实现了JDBC API?

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

3)谁实现了JDBC Driver Manager?它是由JDK本身提供还是由数据库供应商提供?它是作为一个进程运行还是只是一个类/接口?

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

2 个答案:

答案 0 :(得分:2)

  1. JDBC API是java.sql和javax.sql中的类和接口。
  2. 没有
  3. 驱动程序管理器是类java.sql.DriverManager,它是JRE / JDK的一部分。
  4. 驱动程序在java(x).sql中实现接口。最重要的是,驱动程序会创建java.sql.Connection
  5. 的内容

答案 1 :(得分:2)

JDBC API由两个包组成:

  1. java.sql:包含主类和接口;例如,此包中包含Driver,Connection,Statement,ResultSet,PreparedStatement和CallableStatement等类。
  2. javax.sql:包含更多特定的类,如RowSet,DataSource或PooledConnection。
  3. 这些包包含从db访问数据所需的所有类和接口。但是它们还不够,因为实现JDBC的类和接口都允许连接到不同的DBMA,因此我们需要一个驱动程序。

    访问类型有4种类型的驱动程序:

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

    要与java应用程序和数据库建立连接,您必须:     首先加载包。     第二次加载驱动程序。 所以要回答你的问题,JDK本身不提供JDBC驱动程序(必须从其他源代码下载),JDK不提供java.sql中定义的所有类/接口的实现。 javax.sq'因为你必须导入它们。