JDBC概述

时间:2024-03-21 16:37:32

JDBC的全称是Java数据库链接(Java Database Connectivity),它是一套用于执行SQL语句的Java API。应用程序可通过这套API连接到关系数据库,并使用SQL语句来完成对数据库中数据的查询、更新和删除等操作。应用程序使用JDBC访问数据库的方式如下图所示。
JDBC概述
从上图可以看出,应用程序使用JDBC访问特定的数据库时,需要与不同的数据库驱动进行连接。由于不同的数据库厂商提供的数据库驱动不同,因此,为了使应用程序与数据库真正建立连接,JDBC不仅需要提供访问数据库的API,还需要封装与各种数据库服务器通信的细节。 我们可以通过一张图来描述JDBC的具体实现细节,从而更好的理解应用程序如何通过JDBC访问数据库。

JDBC概述
从图中可以看出,JDBC的实现包括三部分:
1. JDBC驱动管理器:负责注册特定的JDBC驱动器,主要通过 java.sql.DriverManager 类实现。
2. JDBC驱动器API : 由Sun公司负责制定,其中最主要的接口是 java.sql.Driver接口。
3. JDBC驱动器 : 它是一种数据库驱动,由数据库厂商创见,也称为JDBC驱动程序。 JDBC驱动器实现了JDBC驱动器API,负责与特定的数据库连接,以及处理通信细节。

2.JDBC常用API

在开发程序前,首先了解一下JDBC常用的API 。JDBC API主要位于 java.sql 包中,该包定义了一系列访问数据库的接口和类,具体如下:

1. Driver接口

Driver 接口是所有 JDBC 驱动程序必须实现的接口,该接口专门提供给数据库厂商使用。在编写JDBC程序时,必须要把指定数据库驱动程序或类库加载到项目的classpath中。

2. DriverManager类

DriverManager 类用于加载 JDBC 驱动并且创建与数据库的连接。在 DriverManager 类中,定义了两个比较重要的静态方法,如下表所示:
JDBC概述

3. Connection接口

Connection接口代表Java程序和数据库的连接,在Connection接口中,定义了一系列方法,具体如表可知:
JDBC概述

4.Statement接口

Statement接口用于向数据库发送SQL语句,在Statement接口中,提供了三个执行SQL语句的方法,具体如表所示:
JDBC概述

5. PreparedStatement接口

PreparedStatement是Statement的子接口,用于执行预编译的SQL语句。在 PreparedStatement 接口中,提供了一些基本的操作方法,具体如表示:
JDBC概述

需要注意的是,表中的 setDate()方法可以设置日期内容,但参数Date的类型是 java.sql.Date,而不是 java.util.Date.

6. CallableStatement接口

CallableStatement是PreparedStatement的子接口,用于执行SQL存储过程,在CallableStatement接口中提供了一些基本的操作方法,具体如表所示:
JDBC概述

7.ResultSet接口

ResultSet接口表示select查询语句得到的结果集,该结果集封装在一个逻辑表格中,在ResultSet接口内部有一个指向表格数据行的游标,ResultSet对象初始化时,游标在表格的第一行之前。下列表中列举了ResultSet接口中的常用方法。
JDBC概述
从表中可以看出,ResultSet接口中定义了大量的getXxx()方法,采用哪种getXxx()方法取决于字段的数据类型。程序既可以通过字段的名称来获取指定数据,也可以通过字段的索引来获取指定的数据,字段的索引是从1开始编号的。