# JDBC 架构

> 原文： [https://docs.oracle.com/javase/tutorial/jdbc/overview/architecture.html](https://docs.oracle.com/javase/tutorial/jdbc/overview/architecture.html)

JDBC API 支持用于数据库访问的两层和三层处理模型。

图 1：用于数据访问的双层体系结构。

![The DBMS-proprietary protocol provides two-way communication between the client machine and the database server](intro.anc2.gif)

在双层模型中，Java 应用程序直接与数据源对话。这需要一个 JDBC 驱动程序，它可以与正在访问的特定数据源进行通信。用户的命令被传递到数据库或其他数据源，并且这些语句的结果被发送回用户。数据源可以位于用户通过网络连接到的另一台机器上。这被称为客户端/服务器配置，用户的机器作为客户端，机器将数据源作为服务器。网络可以是内联网，例如，连接公司内的员工，或者可以是因特网。

在三层模型中，命令被发送到服务的“中间层”，然后将命令发送到数据源。数据源处理命令并将结果发送回中间层，然后中间层将它们发送给用户。 MIS 主管发现三层模型非常具有吸引力，因为中间层可以保持对访问的控制以及可以对公司数据进行的更新。另一个优点是它简化了应用程序的部署。最后，在许多情况下，三层架构可以提供性能优势。

图 2：数据访问的三层体系结构。

![The DBMS-proprietary protocol provides two-way communication between the database server and the server machine. HTTP, RMI, CORBA or other calls provide two way communication between the server machine and the client machine](intro.anc1.gif)

直到最近，中间层通常用 C 或 C ++等语言编写，提供快速的性能。然而，随着优化编译器的引入，将 Java 字节码转换为高效的机器特定代码和技术，例如 Enterprise JavaBeans™，Java 平台正迅速成为中间层开发的标准平台。这是一个很大的优势，可以利用 Java 的健壮性，多线程和安全功能。

随着企业越来越多地使用 Java 编程语言编写服务器代码，JDBC API 在三层体系结构的中间层中越来越多地被使用。使 JDBC 成为服务器技术的一些功能是它支持连接池，分布式事务和断开连接的行集。 JDBC API 也允许从 Java 中间层访问数据源。