JDBC的全称是Java数据库连接(Java Database connect),它是一套用于执行SQL语句的Java API。 它是Java和数据库之间的一个桥梁,是一个规范而不是一个实现,能够通过执行SQL语句来完成对数据库中数据的查询、更新和删除等操作。
应用程序使用JDBC访问数据库的方式如下图所示:
从上图可以看出,应用程序使用JDBC访问特定的数据库时,需要与不同的数据库驱动进行连接。由于不同数据库厂商提供的数据库驱动不同,因此,为了使应用程序与数据库真正建立连接,JDBC不仅需要提供访问数据库的API,还需要封装与各种数据库服务器通信的细节,不同厂商的数据库都有相应的实现。
下面通过一张图来描述JDBC的具体实现细节,如下图:
从上图中可以看出,JDBC的实现包括三部分。
(1)JDBC驱动管理器:负责注册特定的JDBC驱动器,主要通过java.sql.DriverManager类实现;
(2)JDBC驱动器API:由Sun公司负责制定,其中最主要的接口是java.sql.Driver接口;
(3)JDBC驱动器:它是一种数据库驱动,由数据库厂商创建,也称为JDBC驱动程序,负责与特定的数据库连接,以及处理通信细节。
JDBC编程步骤
各种不同厂商的数据库都有相应的实现,本文中的代码都是针对MySQL数据库实现的。
1、注册驱动
在编写代码前,你需要安装MySQL第三方类库,mysql-connector-java-8.0.29-bin.jar包可以在网上下载,或者在MySQL的安装目录下找到。
try {
Driver driver = new com.mysql.cj.jdbc.Driver();
DriverManager.registerDriver(driver);
} catch (SQLException e) {
throw new RuntimeException(e);
}
以下是com.mysql.cj.jdbc.Driver类的源代码
public class Driver extends NonRegisteringDriver implements java.sql.Driver {
public Driver() throws SQLException {
}
static {
try {
DriverManager.registerDriver(new Driver());
} catch (SQLExcep