一、数据持久化回顾
1.持久化概述
1.1 把内存中的数据保存到可掉电设备的一种方式,对于大多数的持久化来说,都是通过数据库(MySQL)进行持久化操作
2. JAVA中的数据存储
2.1 序列化与反序列化
2.2 MySQL 存储数据 (通过JDBC 操作数据库(增、删、改、查...))
2.3 JAVA如何操作
-
JDBC 可以直接访问数据库
-
第三方的 O/R 工具(Mybatis)
-
JDBC 是java访问数据库的基础,后期要学习的Mybatis 等框架,只不过是封装了JDBC而已,JDBC 还是底层原理。
二、JDBC概述
1.概述
1.1概述:
JDBC( Java DataBase Connectivity)是java 操作数据库的一套API,是独立于数据管理系统的(MySQL),定义了访问数据库的标准规范,通过SQL操作数据库
1.2 没有JDBC之前存在问题:
-
开发一套java代码不能操作不同的数据库,其实,不同的关系型数据库底层的实现细节都不一样
1.3 有JDBC之后
JDBC其实是 SUN 公司定义的一套标准接口,不同的数据库厂商需要去遵循这个规范,开发者只需要导入加载注册驱动,不用去管具体的实现细节,就可以操作数据库了。
1.4 JDBC本质:
-
官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口
-
各个数据库厂商去实现这套接口,提供数据库驱动jar包
-
我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类(传说中的面向接口编程)
1.5 优点
-
程序员不需要去写各数据库与java连接的代码,大大的减少了加班时间
-
随时可以去替换新数据库,访问数据库的java代码基本不变
三、JDBC API
-
DriverManager(驱动管理类)
-
Connection(数据库连接对象)
-
Statement 执行SQL语句
-
ResultSet(结果集对象)
四、初试JDBC 操作数据库
-
第一步,编写java代码
-
第二步,java代码将SQL发送到MySQL服务器
-
第三步,MySQL服务端接收到SQL语句并且执行
-
第四步,将SQL语句执行的结果返回给java代码
1.实操步骤
1.1 导入MySQL驱动包
1.1.1 去maven 仓库下载(https://mvnrepository.com/)收索mysql-connector 点击第一个
1.2 注册驱动
Class.forName("com.mysql.jdbc.Driver");
注意,8.0版本数据库这样连接会出现问题,后面我们再解决
1.3 获取连接
Connection conn = DriverManager.getConnection(url, username,password);
//通过驱动管理接口(DriverManager)获取到连接对象(Connection)
1.4 定义SQL
String sql = “insert…” ;
1.5 获取执行对象 Statement
Statement stmt = conn.createStatement();
1.6 执行SQL
stmt.executeUpdate(sql);
1.7 处理结果并且释放资源
//在 finally 里面关联Statement 对象和 Connection对象
2.代码实操
-
创建新的空项目
- 设置项目的jdk和编译版本
- 创建模块,设置模块名称
- 添加mysql 驱动包,将该jar 包添加为库文件。
-
添加为库文件的时候,有如下选择
-
Global Library : 全局有效
-
Project Library : 项目有效
-
Module Library : 模块有效
-
2.1实操问题
-
驱动写错
- 列没写明确导致出错
五、安装DataGrip 工具
1.解压文件
2.设置软件安装位置
3.配置设置
4.选择是否使用之前的配置信息
六、DataGrip 的使用
1.选择数据库源(MySQL)
2.填写连接信息
3.出现时区异常错误
4.连接进来后