一、数据持久化存储回顾
1、持久化概述
2. JAVA中的数据存储
二、JDBC概述
1.概述
1.1 概述:
1.2 没有jdbc之前存在一些问题
1.3 有jdbc 之后
1.4 JDBC本质
1.5 优点
三、JDBC API
四、初始JDBC 操作数据库
1、操作步骤概述
2、实操步骤
2.1 导入MySQL驱动包
2.2注册驱动
2.3 获取连接
2.4 定义sql 语句
2.5 获取执行sql的对象 statement
2.6 执行sql
2.7 处理结果并释放资源
五、参考代码
补充jar导入
1、方法一
2、方法二
1.1:把内存中的数据保存到可掉电设备的一种方式,对于大多数的持久化来说,都是通过数据库(Mysql,radis)进行持久化操作
2.1 序列化与反序列化
2.2 Mysql 存储数据 (通过JDBC操作数据库(增删改查……))
2.3 JDBC如何操作
JDBC可以直接访问数据库
第三方的O/R 工具(Mybatis)
JDBC是java访问数据库的基础,后期要学习的Mybatis 等框架,只不过是封装了JDBC而已,JDBC还是底层原理。
JDBC(JAVA DataBase Connectivity)是JAVA操作数据库的一套API(分装好的接口),是独立于数据库管理系统的(Mysql),定义了访问数据库的标准
开发一套JAVA代码不能操作不同的数据库,其实,不同关系型数据库底层的实现细节都一样
JDBC 其实是sun公司定义的一套标准接口,不同数据库厂商去遵循这个规范,开发者只需要导入加载注册驱动,不用去管具体的实现细节,就可以操作数据库代码了。
官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口
各个数据库厂商去实现这套接口,提供数据库驱动jar包
我们可以使用这套接口(JDBC)编程,真正执行代码的是驱动jar包中的实现类 (面向接口编程)
程序员不用去写各个数据库与java连接的代码,大大减少工作量
随时可以替换新的数据库,访问数据库的java代码基本不变
DriverManager(驱动管理包)
Connection(数据库连接对象)
Ststement (执行sql语句)
ResultSet (结果集对象)
第一步,编写java代码
第二步,java代码将SQL发送到MySQL服务器
第三步,MySQL服务端接收到SQL语句并且执行
第四步,将SQL语句执行的结果返回给java代码
去maven 仓库下载(https://mvnrepository.com/)搜索mysql-connector 点击第一个
Class.forName("com.mysql.cj.jdbc.Driver");
注:8.0版本的jar需要加上cj
Connection conn = DriverManager.getConnection(url, username,password);
//通过驱动管理接口(DriverManager)获取到连接对象(Connection)
String sql = "update information set address = '湖北襄阳' where id=2";
Statement statement = conn.createStatement();
statement.executeUpdate(sql);
statement.close();
conn.close();
package cn.kuangtu.jdbc.jdbcConnect;
import com.mysql.cj.jdbc.Driver;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
public class JDBCCon {public static void main(String[] args) throws Exception {
// 加载驱动Class.forName("com.mysql.cj.jdbc.Driver");
// 获取连接String url = "jdbc:mysql://localhost:3306/jdbc";String user = "root";String password = "123456";Connection conn= DriverManager.getConnection(url, user, password);
// 创建statement对象Statement statement = conn.createStatement();
// 定义sql语句String sql = "update information set address = '湖北襄阳' where id=2";
// 执行sqlint i = statement.executeUpdate(sql);
// i表示执行该sql语句受影响行数System.out.println(i);
// 释放资源statement.close();conn.close();}
}