0%

mybatis概述

  • MyBatis 本质上就是对 JDBC 的封装,通过 MyBatis 完成 CRUD。
  • MyBatis 在三层架构中负责持久层的,属于持久层框架。

一、MyBatis概述

1.1 框架

  • Java常用框架:

    • SSM三大框架:Spring + SpringMVC + MyBatis
    • SpringBoot
    • SpringCloud等。
  • 框架其实就是对通用代码的封装,提前写好了一堆接口和类,我们可以在做项目的时候直接引入这些接口和类(引入框架),基于这些现有的接口和类进行开发,可以大大提高开发效率。

    • 什么东西都给你弄好了,具体的业务你在自己往上写补充好了就行了!!!!!
  • 框架一般都以 jar 包的形式存在(jar 包中有 class 文件以及各种配置文件等)。

1.2 三层架构

  • 表现层(UI):直接跟前端打交互(一是接收前端 ajax 请求,二是返回 json 数据给前端)

  • 业务逻辑层(BLL):一是处理表现层转发过来的前端请求(也就是具体业务),二是将从持久层获取的数据返回到表现层。

  • 数据访问层(DAL):直接操作数据库完成 CRUD,并将获得的数据返回到上一层(也就是业务逻辑层)。

  • Java持久层框架:

    • MyBatis
    • Hibernate(实现了JPA规范)
    • jOOQ
    • Guzz
    • Spring Data(实现了JPA规范)
    • ActiveJDBC
    • ……

1.3 了解MyBatis

  • MyBatis 本质上就是对 JDBC 的封装,通过 MyBatis 完成 CRUD。

  • MyBatis 在三层架构中负责持久层的,属于持久层框架。

  • ORM(Object Relational Mapping):对象关系映射

    • O(Object):Java 虚拟机中的 Java 对象

    • R(Relational):关系型数据库

    • M(Mapping):将 Java 虚拟机中的 Java 对象映射到数据库表中一行记录,或是将数据库表中一行记录映射成 Java 虚拟机中的一个 Java 对象

      ![](../../../../../Running Noob/计算机/Typora笔记/笔记-git仓库/Java-SSM-notebook/img/Mybatis/ORM.png)

    • MyBatis 属于半自动化 ORM 框架
      • sql 语句需要我们自己写
    • Hibernate 属于全自动化的 ORM 框架。
      • 大部分 sql 语句不需要我们自己写,但是写好的 sql 语句可能很大程度上不是我们需要的,也需要我们自己根据业务自己封装新的。
  • MyBatis框架特点:

    • 支持定制化 SQL、存储过程、基本映射以及高级映射
    • 避免了几乎所有的 JDBC 代码中手动设置参数以及获取结果集
    • 支持 XML 开发,也支持注解式开发。【为了保证sql语句的灵活,所以mybatis大部分是采用XML方式开发。
    • 将接口和 Java 的 POJOs(Plain Ordinary Java Object,简单普通的 Java 对象)映射成数据库中的记录
    • 体积小:两个 jar 包,两个 XML 配置文件。
    • 完全做到 sql 解耦合。
    • 提供了基本映射标签。
    • 提供了高级映射标签。
    • 提供了 XML 标签,支持动态 SQL 的编写。
    • ……

ORM思想的深入理解

![](../../../../../Running Noob/计算机/Typora笔记/笔记-git仓库/Java-SSM-notebook/img/Mybatis/001-ORM思想-对象关系映射.png)

  • 说白了 ORM 就是用于在关系型数据库和 Java 对象之间建立映射关系的一种编程技术。
---------------The End---------------