1.持久化
什么是持久化
将数据存储到能永久保存的存储设备设备中
内存中的数据->持久化->外部存储设备
为什么持久化
- 有的数据必须进行永久性的存储
- 内存是稀缺资源
持久化实现形式
- 将数据存储到永久存储设备中(比如磁盘)
- 将数据存储的到数据库中(间接的将数据存储到永久存储设备)
2.JDBC
JDBC的作用
将Java开发的应用程序连接到数据库,并且能执行相关增删查改操作
不使用JDBC应用程序就没法操作数据库
什么是JDBC
JDBC=Java DataBase Connectivity(Java数据库连接)
用于执行SQL的JavaAPI
应用程序无法对数据库进行直接操作 需要相关的接口
只有通过JDBC才能操作数据库 JDBC提供响应的接口
Q:是不是只要用了JDBC就能操作任意的数据库了呢?
A:不是,在使用JDBC时不同的数据库需要注册不同的驱动
使用的是MySQL数据库->注册MySQL驱动
使用Oracle的数据库->注册Oracle驱动
小结
- JDBC是Java中进行数据连接时要用到的API(连接数据库的API)
- JDBC连接数据库要使用数据库厂商提供的驱动
- 连接不同的数据库要使用该数据库厂商所提供的驱动
3.JDBC体系结构
- JDBC API
面向程序的 程序开发时使用的
通过 Driver Manager 进行驱动的注册
- JDBC Drive Manager
注册驱动用的 程序开发时使用的
为应用程序装载驱动的
- JDBC Drive API
面向数据库的 数据库厂商使用的数据库厂商必须要实现的接口
为什么要用JDBC
- 一次编写处处运行
使用JDBC API 写好了数据库相关的操作 即使更换了不同的数据库也能使用
不需要针对不同的数据库写对应的数据库操作相关代码
小结
- JDBC 是一套用于在Java程序中中执行SQL语句操作数据库的API
- JDBC的体系结构
- JDBC API 应用程序使用的接口
- JDBC Driver Manager 装载驱动用的
- JDBC Driver 数据库厂商要实的接口
对于开发者只要关前两者就好JDBC Driver 是数据库厂商要实现的接口
4.JDBC常用接口概述
1.Driver接口
- 所有JDBC驱动必须实现的接口(数据库厂商来实现)
Q:主要是用来干嘛的?
A:用来装在驱动的
可以通过java.lang.Class中的forName()来装载驱动
2.DriverManager接口
- 加载JDBC驱动的
使用registerDriver()注册驱动程序 (和formName的功能相同)
- 用来建立连接的
使用getConection()来获取和数据库的连接
3.Connection接口
- 用来完成和数据库进行交互的
- 给数据库发送SQL对象的
4.Statment接口
- 执行SQL语句的
5.PreparedStament接口
- 也是执行SQL语句的(执行的是预编译的SQL语句)
- 继承自Stament接口
6.CallableStament接口
- 用来调用SQL的存储过程的
- 继承自PreparedStament接口
7.ResultSet 接口
- 用来执行select语句获得的结果集的(操作结果集的)
- 操作结果集合中的行
ResultSet中维护了一个指针指针默认在第一行之间前使用next() 或者previous()方法可以移动指针 指向具体的数据库行
8.ResultMetaData接口
5. JDBC URL
作用
- 表示数据库的用的
网站由网址作为表示 对于数据库而言也由对应的URL作为标识
基本格式
示例
jdbc:mysql://host1:33060/sakila
- 所使用的协议是jdbc
- 子协议是mysql
- 主机为host1(连接本地数据库为localhost)
- 数据库名称为skila
- 连接时没有使用参数
官方文档
MySQL :: MySQL Connector/J 8.1 Developer Guide :: 6.2 Connection URL Syntax
小结
- 持久化就是将数据保存到能永久存储的存储器中
- JDBC是Java所提供用来操作数据库的API
- 要使用JDBC操数据库需要使用各数据库厂商提供的数据库驱动
- JDBC提供了丰富的接口用来连接数据库以及执行相关的操作
- JDBC中体系结构
JDBC API
JDBC Driver
JDBC Driver Manager