文章目录
![image-20230206074352715](https://i-blog.csdnimg.cn/blog_migrate/34c57243821a0a4671a3752a2e1cccd7.png)
JDBC -(01)JDBC的概述
1. 为什么要学习 JDBC
1.1 JDBC 是Java和数据库必要纽带
Java:主要是用来进行数据处理
的
数据库:持久化存储
数据信息
JDBC 是 Java 操作数据库数据的技术
1.2 JDBC 是数据库层框架底层原理
2. JDBC 的概念
2.1 USB 的概念
USB是一个技术的统称,它应该由三部分组成
第一部分:USB的规范和设计标准(概念)
第二部分:电脑端的USB接口(接口)
第三部分:外设的USB口和具体发送信号的驱动程序(实现类)
JDBC就是类似于USB
2.2 JDBC 的概念
JDBC:Java Database Connectivity(Java连接数据库技术)
通俗点说:在Java代码中,使用JDBC提供的方法,可以发送字符串类型的SQL语句
到数据库管理软件
(MySQL、Oracle等),并且获取语句执行结果
,进而实现数据库数据CURD操作
的技术。
JDBC是Java连接数据库技术的统称,是一种典型的面向接口编程
技术
JDBC有两部分组成:
- Java提供的
JDBC规范(接口)
- 各个数据库厂商的实现
驱动jar包
3. JDBC 的本质
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kCQN2RG1-1678878367065)(null)]
JDBC = JDBC接口(Java) + JDBC实现类(各数据库对Java接口的具体实现)
程序开发中,用接口去接数据库的具体JDBC实现,Java程序只需要调用接口对应的方法
,切换数据库只需要切换对应的jar包。
我们只需要学习JDBC接口规定的方法,即可操作所有数据库软件
项目中期需要切换数据库,我们只需要
更新第三方驱动jar包
,不需要更改代码
4. JDBC 核心API
4.1 JDBC 技术组成
1.JDK 下 JDBC 规范接口存储在 java.sql 和 javax.sql 包中的 api
为了项目代码的可移植性,可维护性,SUN公司从最初就制定了 Java 程序连接各种数据库的统一接口规范,这样的话,不管是连接哪一种 DBMS 软件,Java 代码可以保持一致性
。
2.各个数据库厂商提供的驱动jar包
因为各个数据库厂商的 DBMS 软件各有不同,那么内部如何通过 sql 实现增删改查等管理操作,只有整个数据库厂商自己更清楚,因此把接口规范的实现交给各个数据库厂商自己实现。
jar包:Java程序打成的一种压缩包格式,你可以将这些jar包引入你的项目中,然后你就可以使用这个 java 程序中类和方法以及属性
4.2 涉及到的具体核心类和接口
-
DriverManager
1.将第三方数据库厂商的实现驱动 jar 注册到程序中
2.可以根据数据库连接信息获取connection
-
Connection
1.和数据库建立的连接,在连接对象上库多次执行数据库 curd 动作
2.获取 Statement 和 PerparedStatement,CallableStatement 对象
-
Statement |
PerparedStatement
| CallableStatement1.具体发送 sql 语句到数据库管理软件的对象
2.不同发送方式有所不同,PerparedStatement 使用为重点
-
Result
1.面向对象思维的产物(抽象成数据库的查询结果表)
2.存储 DQL 查询数据库结果的对象
3.需要我们进行解析,获取具体的数据库数据
4.3 JDBC API使用路线
5. 全新 8+ 版本 mysql-jdbc驱动
5.1 支持 8.0+ 版本 mysql数据管理软件
mysql 软件知名版本迭代时间
版本号 | 迭代时间 | 大小 |
---|---|---|
mysql-8.0.25 | 2021/04/30 | 435.7M |
mysql-5.7.25 | 2019/01/10 | 387.7M |
mysql-5.5.30 | 2012/09/19 | 201.5M |
mysql 8.x 版本数据库性能提升介绍
-
MySQL 8.0 的速度要比 mySQL 5.7 快两倍
-
MySQL 8.0 在读/写工作负载、IO密集型工作负载,以及高竞争工作负载时相比 MySQL 5.7 性能更好
5.2 支持 Java JDBC规范 4.2+ 版本新特性
Java JDBC规范驱动版本和更新时间