1 JDBC简介

2 JDBC技术相关接口

概念:JDBC(Java DataBase Connectivity) :Java数据库连接技术:具体讲就是通过Java连接广泛的数据库,并对表中数据执行增、删、改、查等操作的技术。如图所示:

此前我们学习过SQL后,可以通过Navicat、SQLyog等图形化客户端发送SQL操作数据库。本质上,JDBC的作用和图形化客户端的作用相同,都是发送SQL操作数据库。差别在图形化界面的操作是图形化、傻瓜化的,而JDBC则需要通过编码(这时候不要思考JDBC代码怎么写,也不要觉得它有多难)完成图形操作时的效果。

总结:JDBC本质上也是一种发送SQL操作数据库的client技术,只不过需要通过Java编码完成。

作用:

通过JDBC技术与数据库进行交互,使用Java语言发送SQL语句到数据库中,可以实现对数据的增、删、改、查等功能,可以更高效、安全的管理数据。

JDBC是数据库与Java代码的桥梁(链接)、

1

2

作用:JDBC要通过Java代码操作数据库,JDBC中定义了操作数据库的各种接口和类型:

接口 作用
Driver 驱动接口,定义建立链接的方式
DriverManager 工具类,用于管理驱动,可以获取数据库的链接
Connection 表示Java与数据库建立的连接对象(接口)
PreparedStatement 发送SQL语句的工具
ResultSet 结果集,用于获取查询语句的结果

JDBC是规范(接口)不是实现(类)

JDBC 是一种规范,由Sum公司它提供了一套完整的接口,由数据库厂商根据特点予以实现,因此只要学会接口的使用就可以轻松的用 JDBC编写适用于各种数据库的程序。

Mysql提供的JDBC实现

Mysql提供的JDBC实现称为Mysql Connector,不同的数据库版本需要使用不同的Connector。

实际开发时根据数据库版本、JDK版本、选择不同的Connector。

Connector版本 MySQL版本 JDK版本
8.0 5.6, 5.7, 8.0 JDK 8.0 或更高
5.1 5.6, 5.7, 8.0 JDK 5.0 或更高

下载地址:https://mvnrepository.com/artifact/mysql/mysql-connector-java

为什么JDBC只有接口,没有提供实现?

不同数据库的底层技术不同,不少数据库是闭源的,源代码不公开的。Sun公司无力为所有数据库提供具体实现,只能提供接口而由数据库厂商提供具体实现,Sun公司只是制定JDBC标准,各个厂商准守标准提供具体的实现。JDBC和数据库实现的关系就好比List接口和ArrayList、LinkedList之间的关系。

面向JDBC接口规范编程,写出的JDBC代码可以在不同的数据库间轻松的迁移。

3 JDBC的编程步骤

JDBC操作数据库的步骤和Navicat操作数据库步骤就大同小异,下面我们先回顾下Navicat的操作步骤,然后分析出JDBC的步骤。如图所示:

JDBC开发六步

1. 加载驱动

2. 获取链接

3. 准备SQL以及发送SQL的工具

4. 执行SQL

5. 处理结果集

6. 释放资源

1.打开IDEA如图所示的界面,点击Create New Project。

2.选择Empty Java和点击Next,如图所示:

3.填写项目名称和点击Finish

4.点击File–>New–Module

5.选择Java,点击Next。

6.填写子项目名称和点击Finish,

4 第一个JDBC程序

准备工作:向t_person表中新增一行数据。

1、搭建开发环境

在项目中引入数据库驱动jar包(jar文件:针对class文件的压缩格式包含了多个带包的class文件,类似于普通文件打包的zip、rar)。

eclipse

idea

2 JDBC访问数据库

编码:

Applications no longer need to explicitly load JDBC drivers using Class.forName().

应用程序不再需要使用Class.forName()显式加载JDBC驱动程序。

Existing programs which currently load JDBC drivers using Class.forName() will continue to work without modification

当前使用Class.forName()加载JDBC驱动程序的,将继续工作而不进行修改。

3 结果集的处理

需求:查询t_person表中的数据。

select * from t_person;

5 数据绑定

作用:数据绑定:将用户输入的数据,绑定到要执行的SQL语句中。

JDBC执行的SQL中的数据要根据用户的输入发生变化,比如 登录功能背后的查询sql要根据用户名不同,执行不同的条件。这就需要将用户输入的数据绑定到执行的SQL中。

准备工作:建表t_user 插入测试数据

推荐内容