前言:本文介绍了持久层的概念,以及Mybatis的概念与特点。
What is Mybatis?
官网介绍:MyBatis 是一款优秀的持久层框架
- 它支持自定义 SQL、存储过程以及高级映射。
- MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。
- MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。
说到这里,那什么又是持久层呢?
- 我在 《Summary of Java data types》 里面提到过,编程的本质就是对内存中数据的访问和修改。而大家都知道,内存是断电后会丢失全部数据的(目前已经研发出非易失性内存条 DDR4 NVDIMM,但是价格很贵,见下图),但是有些对象(数据),我们不能让它丢失,需要长时间的保存它,这时我们就需要把这样的数据存放在文件系统(早期)或者数据库中,并且在需要使用的时候再装载到内存中,这个操作的过程就是持久化,即将程序的数据在持久状态和瞬时状态转化的过程,而我们把完成持久化操作的代码块分离出来,归为一层,称之为持久层,或者叫数据访问层,又称为DAL层。那为啥要分呢?因为这么做了之后就会使得界限明显,实现解耦合。简而言之,持久层负责数据库的访问。
解释完持久层,我们现在来讨论一下学习 Mybatis 的预备知识
- SQL 基础
- Java JDBC
- Java Annotation
- XML 基础
最后,讨论一下为什么需要学习 Mybatis,以及它的特点
- 传统的 JDBC 代码太复杂。Mybatis 帮我们做了很多事,简化了开发。
特点
- 简单易学
- 灵活
- 解除sql与程序代码的耦合
- 提供映射标签,支持对象与数据库的orm字段关系映射
- 提供对象关系映射标签,支持对象关系组建维护
- 提供xml标签,支持编写动态sql
【注:官网:https://mybatis.org/mybatis-3/zh/configuration.html】
【注:依赖:https://mvnrepository.com/artifact/org.mybatis/mybatis】