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