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 使用我们不做过多探讨。