JDBC的介绍与下载(MySQL为例)

1. JDBC简介

JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。

Java是一种具有坚固、安全、易于使用、易于理解的编程语言,同时还具备可以从网络上自动下载的特性。正因为如此,它是编写数据库应用程序的杰出选择。无论你使用的是哪种数据库,Java都提供了简单而高效的方法,使得Java应用程序能够轻松与各种不同的数据库进行对话和交互。这种灵活性和可靠性使得Java成为开发数据库应用程序的首选语言之一。

使用JDBC编程,可让开发人员从复杂的驱动器调用命令和函数中解脱出来,可以致力于应用程序中的关键地方。JDBC支持不同的关系数据库,这使得程序的可移植性大大加强。

JDBC API是面向对象的,可以让用户把常用的方法封装为—个类,以备后用。但是它也有缺点,一是使用JDBC,访问数据记录的速度会受到一定程度的影响。二是JDBC结构中包含不同厂家的产品,这就给更改数据源带来了很大的麻烦。

JDBC可以在各种平台上使用Java,如Windows,MacOS和各种版本的UNIX。

2. JDBC体系结构

JDBC API提供了两层和三层处理模型来支持数据库访问,但通常情况下,JDBC体系结构由两层组成:

JDBC API:这一层提供了应用程序与JDBC管理器之间的连接接口。

JDBC驱动程序 API:这一层支持JDBC管理器与具体数据库驱动程序之间的连接。

JDBC API利用驱动程序管理器和特定于数据库的驱动程序,实现了对各种异构数据库的透明连接。这使得开发人员能够使用统一的方式与不同的数据库进行交互,无需关注数据库的具体实现细节。通过这样的架构,JDBC为开发数据库应用程序提供了灵活性和可移植性。

JDBC的介绍与下载(MySQL为例)_第1张图片

3. JDBC核心组件

Connection:该接口具有用于与数据库进行通信的所有方法。连接对象表示与数据库之间的通信上下文,意味着所有与数据库的通信都必须通过连接对象进行。

DriverManager:此类管理数据库驱动程序的列表。它使用通信子协议来匹配来自Java应用程序的连接请求与适当的数据库驱动程序。

Driver:此接口处理与数据库服务器的通信。通常,我们不直接与Driver对象进行交互,而是使用DriverManager对象来管理此类型的对象。

Statement:使用从该接口创建的对象可以将SQL语句提交给数据库进行执行。除了执行存储过程之外,一些派生接口还可以接受参数。

ResultSet:在使用Statement对象执行SQL查询之后,该对象保存从数据库中检索的数据。它作为一个迭代器,允许我们在结果集中移动,并访问其中的数据。

SQLException:此类处理在数据库应用程序中发生的任何错误。它提供了异常处理机制,用于捕获和处理与数据库操作相关的异常。

4. 使用步骤

构建JDBC应用程序涉及以下六个步骤:

1. 导入包:需要包含包含数据库编程所需的JDBC类的包。大多数情况下,使用import java.sql.* 就足够了。

2. 注册JDBC驱动程序:要求您初始化驱动程序,以便您可以打开与数据库的通信通道

3. 打开连接:需要使用DriverManager.getConnection方法创建一个Connection对象,该对象表示与数据库的物理连接。

4. 执行查询并保存查询结果:需要使用类型为Statement的对象来提交SQL语句到数据库,并构建ResultSet对象来获取返回的数据。

5. 从结果集中提取数据:使用相应的ResultSet.getXXX方法从结果中检索数据。

6. 释放资源:需要明确地关闭所有数据库资源,而不依赖于JVM的垃圾回收机制。
(后面两章会详细讲到这些步骤的具体实现)

5. 下载JDBC驱动包(MySQL)为例

在MySQL的官网mysql.com中,进入DOWNLODAS后,最下面有个“ MySQL Community (GPL) Downloads »” 点击此处(不要点击上面的Try Free,需要注册OCI和AWS)进入后界面如下:

JDBC的介绍与下载(MySQL为例)_第2张图片

选择Connector/J进入,进入后可以直接下载最新版,也可点击Archives下载先前版本,我习惯上会选择下载最新版本的上一个版本也就是次新的版本(在没有版本要求的情况下),所以点击Archives后进入如下界面:

JDBC的介绍与下载(MySQL为例)_第3张图片

我使用的是Mac本,所以选择mac平台适用下载,至于版本号,由于我使用的MySQL数据库是8.2.0版的,所以我的Product Version选择了8.1.0, 目前使用来看没有出现任何问题,如果有朋友在使用中出现一些连接上的问题可以尝试更换jdbc的版本号,尽量选择小于或等于你使用的数据库的版本号。(个人经验)

后面几章将会介绍如何将下载好的包导入到项目以及jdbc驱动包的具体使用步骤

你可能感兴趣的:(数据库,数据库)