跳到主要内容

MyBatis 简介

1. 前言

图片描述

大家好,从本小节开始,我们将一起学习MyBatis wiki系列。

MyBatis 是目前国内 Java 领域中使用最为广泛的持久化框架,它简单易用,却功能强大。

我们希望整理出 MyBatis “百分之二十”的知识,帮你办到“百分之八十”的事情,当然这里的知识远非百分之二十。

作为 MyBatis 系列的第一小节,我们将为你简单的介绍什么是 MyBatis,MyBatis 能做什么以及学习 MyBatis 的注意事项。

慕课赠言:吾尝终日而思矣,不如须臾之所学也。

2. 什么是 MyBatis

MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。

与其它 ORM 框架不同,MyBatis 没有将 Java 对象与数据表关联起来,而是作为 Java 方法和 SQL 语句的桥梁,我们一般称它为“半自动化 ORM ”框架。

3. MyBatis 能做什么

  • MyBatis 可以方便地定制化 SQL, 操纵数据库对象;
  • MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO 为数据库中的记录;
  • MyBatis 提供了强大的动态 SQL 功能,帮助你更加灵活地使用 SQL;
  • MyBatis 提供了插件增强机制,你可以轻松集成其它诸如分页的插件。

4. Hibernate 与 MyBatis 对比

Hibernate 和 MyBatis 是 Java 中使用最为广泛的两个 ORM 框架,二者各有千秋,我们将它们对比并总结出如下两点:

  • Hibernate: 全自动化 ORM 框架,数据库移植性好,基础业务几乎不需要写 SQL;易学难精,上手简单但熟练使用需要阅读大量文档,框架结构复杂。
  • MyBatis: 半自动化 ORM 框架,数据库移植性一般,基础业务仍需写 SQL,但可以通过基础 Mapper 来简化;易学易用,上手简单,结构精简清晰,易深入学习。

对比发现: Hibernate 适合在需求明确、业务固定的项目中使用,如 OA、ERP 项目;MyBatis 适合在需求多变,快速迭代的项目中使用,如互联网的电商项目。

5. 版本说明

本教程基于 MyBatis3.5.4版,MySQL 数据库务必使用5.7以上的版本,在项目实践环节会有对应其它库版本的详细说明。

6. 学习基础

学习 MyBatis 需要一定的前置知识,我们希望你:

  • 拥有一定的 SQL 和 Java 基础;
  • 了解 JDBC 和 数据库的基本知识。

7. 注意事项

  • MyBatis 在开发中会书写大量的 SQL,对于 SQL 关键字我们统一大写;
  • 在 MyBatis 标签中书写 SQL 语句是可以不用在句尾添加;的,但若是其它环境下,务必记得加上;
  • 学习 MyBatis 需要一定的实践,请务必跟随我们一起实操;
  • MyBatis 实践需要数据库环境,我们默认使用 MySQL,请确保你也有可用的数据库环境;
  • 本教材聚焦在如何使用 MyBatis,对于 SQL 使用我们不做过多探讨。