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 插入测试数据