1.1 什么是 Mybatis
首先 我们要 有一个 基本的环境。
- JDK 1.8
- MySQL 8.0
- maven
- IDEA
并且 你还要 对 以下内容 有一定的 印象。
- JDBC
- MySQL
- Java 基础
- Maven 的使用
- Junit 是啥
- 框架是 什么 ?
答:框架指的就是一些类和接口的集合,通过这些类和接口协调可以完成一系列的程序实现。框架又叫做开发中的半成品,框架不能提供整个WEB应用程序的所有东西,但是框架有技术实现以及辅助业务逻辑的作用。
我们也常把 框架 称为 或 叫做 SDK。
-
学习框架的最好方法:
学习框架的 最好 方法,肯定 就是 自己 看 它的官方文档,然后进行 实操。毕竟 框架 就是个 半成品,基本上 都不会太难理解。你只要 知道 怎么 去用,用它 怎么能做出东西就行了。 -
Mybits 就是个框架!!!
Mybits 官方学习文档 -
什么是 Mybits ?
MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。
从解释 可以看出,该 框架 好像能够 让 我们 操作数据库 更 省事。
MyBatis 本来是 apache 的一个 开源项目 iBatis,在 2010 年 这个项目 就 迁移到了 google code,并 改名为 MyBaits。2013 年 11 月 又 迁移到了 GitHub
- maven 仓库
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.9</version>
</dependency>
1.2 什么是 持久层
持久层 就是 把 我们的数据 持久化。
-
首先为啥 要提出 这个概念 ?
答:因为 我们知道 程序处理的数据,大多数 都是在 内存中,进行的 吧。那么在 内存中,可能持久吗??? 肯定不能持久吧,在内存里,是可以 被 随时 释放掉的。指不上 啥时候就没了。 -
持久化是什么 ?
答:持久化 就是 将 程序的数据 在 持久状态 和 瞬时状态 两者 之间 转化的过程。 -
持久状态:你可以理解为 数据 放在 数据库里 只要不去动它,不就是 持久状态嘛。
-
瞬时状态:举个例子,内存有个特性,断电即失。其实 这就是 瞬时状态。
-
通过 哪些 手段 可以实现 持久化呢 ?
答:数据库(jdbc),io文件(数据库 没出现之前肯定是文件呀!)。大概 就这 两种吧,最常见了。 -
生活中的持久化:冷藏(吃的时候再去解冻)、防腐 等等。
那为什么需要 持久化呢 ?
答:因为 有些 对象,我们是不想让它 消失的,即不想让它 只被我们 利用一次。我们 想 反复的,每时每刻的,不知道什么时候的,去 操作一下 它。
PS:所以持久化 我们 好像早都已经学过了哈,从 最开始的 数据库 jdbc 操作,和 后面的 IO 流对文件操作。都有 持久化特性。
1.3 持久层
之前 学过 Dao 层、(Service 层,Controller 层)、View 层 。
那么 持久层 是刚接触的 概念,我们现在 要去 学的 Mybatis 就是 一个 持久层框架。
1. 持久层
- 完成 持久化 工作的 代码块 就是 持久层
- 而且 我们要知道,层与层 之间 的 界限是十分明显的,所以可以单独的 学习每一个层。
1.4 那我们为什么 学习 Mybatis
-
方便(传统的 JDBC 代码,让我们自己 去写 太复杂了,或者说 太 烦了。)
-
因为 你去 学习 别人 写好的 成熟的 框架,是 站在了 巨人的 肩膀人,你自己 去写 不一定 能够写的很好。学习 Mybatis 也是 为了 让我们 写出 更好的 程序。
-
最后 我们 可以直接依赖于 Mybatis 把 数据 写入 数据库里(当然 不用 Mybatis 也可以吧,哈哈。)
-
更容易上手。(而且 技术 是 没有高低 之分的,我们只 看 使用 技术的 那个 人 能力是否 足够强,所以千万 别 瞧不起 使用 框架的 一些 小白。)
-
最重要的 一点:这个 TM 框架,在中国 使用的 人,太多了。你就比如说 Spring、SpringMVC、SpringBoot 这些,我们之后 都要去 一个一个学习。然后 一个 接一个 的使用,说不好听点,不就是 为了 “从众” 嘛,说好听点儿 叫做 “迎合”。