Design of JDBC

2025年5月7日 | 阅读 5 分钟

Java 数据库连接 (JDBC) 是 Sun Microsystems 提供的一个应用程序编程接口 (API),Java 应用程序通过它来与不同供应商的关系型数据库进行通信。JDBC 和数据库驱动程序协同工作,以访问电子表格和数据库。JDBC 设计定义了用于连接数据库的 JDBC 组件。

JDBC 组件

Design of JDBC

JDBC 有四个主要组件,用于与数据库进行交互。

  1. JDBC API
  2. JDBC 测试套件
  3. JDBC 驱动程序管理器
  4. JDBC ODBC 桥接驱动程序

1) JDBC API:JDBC API 提供了各种接口和方法,用于与不同数据库建立简单的连接。

2) JDBC 测试套件:JDBC 测试套件方便程序员测试 JDBC 驱动程序执行的各种操作,例如删除、更新、插入。

3) JDBC 驱动程序管理器:JDBC 驱动程序管理器将数据库特定的驱动程序加载到应用程序中,以便与数据库建立连接。JDBC 驱动程序管理器还用于发出数据库特定的调用,以便处理用户请求。

4) JDBC-ODBC 桥接驱动程序:JDBC-ODBC 桥接驱动程序用于将数据库驱动程序连接到数据库。该桥接器将 JDBC 方法调用转换为 ODBC 方法调用。它使用 sun.jdbc.odbc 包,该包包含用于访问 ODBC (Open Database Connectivity) 特性的本地库。

注意:自 Java 8 起,已移除 JDBC-ODBC 驱动程序。Oracle 建议使用数据库供应商提供的驱动程序。

JDBC 架构

1) 应用程序:它是与数据源通信的 Java servlet 或 applet。

2) JDBC API:它允许 Java 程序执行 SQL 语句的执行并获取结果。

JDBC API 中定义的几个关键接口和类如下:

  • 驱动程序
  • 驱动程序管理器
  • 语句
  • 关系
  • 可调用语句
  • 预处理语句
  • 结果集
  • SQL 数据

3) 驱动程序管理器:驱动程序管理器在 JDBC 架构中起着至关重要的作用。

它使用数据库特定的驱动程序将企业应用程序连接到各种数据库。

4) JDBC 驱动程序:要通过 JDBC 与数据源进行交互,需要一个 JDBC 驱动程序,该驱动程序可以方便地与相应的数据源进行交互。

JDBC 架构的不同类型

JDBC 架构包括两层和三层模型,用于访问给定的数据库。

两层模型:在此模型中,应用程序直接与数据源进行交互。JDBC 驱动程序建立数据源与应用程序之间的交互。当用户向数据源发送查询时,这些查询的响应将直接发送给用户。

数据源可以位于不同的机器上,并且该机器遵循客户端-服务器范例连接到用户机器,其中发送查询的机器是客户端机器,发送查询结果的机器充当服务器。

三层模型:在此模型中,用户的查询将被发送到中间层服务,然后由中间层服务将命令发送到数据源。这些查询的答案会返回到中间层,然后从中间层再次发送给用户。

JDBC 工作原理

任何需要与数据库交互的 Java 应用程序都需要使用 JDBC API 进行编程。需要添加支持 Oracle 或 MySql 等数据源的 JDBC 驱动程序;然后才能与数据源进行交互。

文件名:JDBCExample.java

输出

Database connection established
Employee ID: 100, Employee Name: Nitesh Singh, Department: Project Management
Employee ID: 104, Employee Name: Amit Kumar, Department: Game Development
Employee ID: 105, Employee Name: Amrit Kumar, Department: Database Management
Employee ID: 109, Employee Name: Rohit Kumar, Department: Software Testing
Employee ID: 120, Employee Name: Ajeet Chouhan, Department: Software Design
Employee ID: 155, Employee Name: Aman Jatt, Department: Art Integration 
The Connection is closed.

说明:上面的 Java 应用程序连接到 MySQL 数据库系统。因此,我们需要 MySQL 的驱动程序才能访问数据。该驱动程序 (com.mysql.jdbc.Driver) 包含在 mysqlconnector.jar 文件中,在执行上述程序时必须将其包含在类路径中。类似地,如果使用 Oracle 而不是 MySQL,则必须使用与 Oracle 对应的驱动程序。