MyBatis的前身是iBATIS,是Clinton-Begin在2001年发起的一个开源项目,最初侧重于密码软件的开发,后来发展成为一款基于Java的持久层框架。2004年Clinton将iBATIS的名字和源码捐赠给了Apache软件基金会,接下来的6年中,开源软件世界发生了巨大的变化, 一切开发实践、基础设施、许可,甚至数据库技术都彻底改变了。2010年核心开发团队决定离开Apache软件基金会,并且将iBATIS改名为MyBatis。
MyBatis是一款优秀的支持自定义SQL查询、存储过程和高级映射的持久层框架,消除了几乎所有的JDBC代码和参数的手动设置以及结果集的检索。MyBatis可以使用XML或注解进行配置和映射,MyBatis通过将参数映射到配置的SQL形成最终执行的SQL 语句,最后将执行SQL的结果映射成Java对象返回。
与其他的ORM(对象关系映射)框架不同,MyBatis并没有将Java对象与数据库表关联起来,而是将Java方法与SQL语句关联。MyBatis允许用户充分利用数据库的各种功能,例如存储过程、视图、各种复杂的查询以及某数据库的专有特性。如果要对遗留数据库、不规范的数据库进行操作,或者要完全控制SQL的执行,MyBatis将会是一个不错的选择。
与JDBC相比,MyBatis简化了相关代码,SQL语句在一行代码中就能执行。MyBatis提供了一个映射引擎,声明式地将SQL语句的执行结果与对象树映射起来。通过使用一种内建的类XML 表达式语言SQL 语句可以被动态生成。
Mybatis整体架构
MyBatis整体分为三层:基础支持层、核心处理层、接口层

怎么样?有了学习路线,是不是感觉有了指向性,学习起来就轻车熟路多了?
没关系,小编这里带来了Mybatis从初级入门,到进阶精通的学习秘籍,一起来看一下吧~~~

第1章:MyBatis入门
- 1.1 MyBatis简介
- 1.2 创建Maven项目
-
1.3 简单配置让MyBatis跑起来

本章先简单介绍了MyBatis 的发展历史和特点,然后通过一步步的操作搭建了一个学习MyBatis的基础环境,这个开发环境也是学习后续几个章节的基础。
第2章:MyBatis XML方式的基本用法
- 2.1 一个简单的权限控制需求
- 2.2 使用XML方式
- 2.3 select用法
- 2.4 insert用法
- 2.5 update用法
- 2.6 delete用法
- 2.7 多个接口参数的用法
-
2.8 Mapper接口动态代理实现原理

本章设定了一个简单的权限控制需求,使用MyBatis XML方式实现了数据库中一个表的常规操作。在查询方面,通过根据主键查询和查询全部两个方法让大家在学会使用MyBatis查询方法的同时,还深入了解MyBatis 返回值的设置原理。在增、删、改方面提供了大量详细的示例,这些示例覆盖了MyBatis基本用法的方方面面。
第3章:MyBatis注解方式的基本用法
- 3.1 @Select注解
- 3.2 @Insert注解
- 3.3 @Update注解和@Delete注解
-
3.4 Provider注解

虽然XML方式是主流,但是仍然有许多公司选择了注解方式,因此本章非常适合使用注解方式的读者。本章使用注解方式几乎实现了同XML方式类似的全部方法,包含许多常用注解的基本用法。对于初学者来说,即使不使用注解方式,通过本章和第2章的对比也可以对MyBatis有更深的了解。
第4章:MyBatis动态SQL
- 4.1 if用法
- 4.2 choose用法
- 4.3 where. set. trim用法
- 4.4 foreach用法
- 4.5 bind用法
- 4.6 多数据库支持
-
4.7 OGNL用法

本章详细介绍了MyBatis最强大的动态SQL功能,通过丰富的示例讲解了各种动态SQL的用法,为动态SQL中可能出现的问题提供了最佳实践方案,还提供了动态SQL中常用的OGNL用法。
第5章:Mybatis代码生成器
- 5.1 XML配置详解
- 5.2 一个配置参考示例
- 5.3 运行MyBatis Generator
-
5.4 Example介绍

本章介绍的MyBatis代码生成器可以减轻基本用法中最繁重的那部分书写工作带来的压力。通过本章的学习,可以使用代码生成器快速生成大量基础的方法,让大家更专注于业务代码的开发,从枯燥的基础编码中解脱出来。
第6章:MyBatis高级查询
- 6.1 高级结果映射
- 6.2 存储过程
-
6.3 使用枚举或其他对象

本章介绍了MyBatis中的高级结果映射,包括一对一映射、一对多映射和鉴别器映射。通过循序渐进的代码示例让读者轻松地学会使用MyBatis中最高级的结果映射。本章还通过全面的示例讲解了存储过程的用法和类型处理器的用法。
第7章:MyBatis缓存配置
- 7.1 一级缓存
- 7.2 二级缓存
- 7.3 集成EhCache缓存
- 7.4 集成Redis缓存
- 7.5 脏数据的产生和避免
-
7.6 二级缓存适用场景

本章讲解了MyBatis 缓存配置的相关内容,提供了EhCache缓存和Redis缓存的集成方法。虽然二级缓存功能强大,但是使用不当很容易产生脏数据。本章针对脏数据的产生提供了最佳解决方案,并且介绍了二级缓存适用的场景。
第8章:MyBatis插件开发
- 8.1 拦截器接口介绍
- 8.2 拦截器签名介绍
- 8.3 下画线键值转小写驼峰形式插件
-
8.4 分页插件

本章介绍了MyBatis强大的扩展能力,利用插件可以很方便地在运行时改变MyBatis的行为。通过两个插件示例让读者初窥门径,结合第11章的内容可以让读者开发出适合自己的插件。
第9章:Spring集成MyBatis
- 9.1 创建基本的Maven Web项目
- 9.2 集成Spring和Spring MVC
- 9.3 集成MyBatis
-
9.4 几个简单实例

本章介绍了最流行的轻量级框架Spring集成MyBatis的方法,通过一步步操作从零开始配置,搭建一个基本的Spring、Spring MVC、MyBatis 开发环境。
第10章:Spring Boot集成MyBatis
- 10.1 基本的Spring Boot项目
- 10.2 集成MyBatis
- 10.3 MyBatis Starter配置介绍
-
10.4 简单示例

本章介绍了最流行的微服务框架Spring Boot集成MyBatis的方法,通过MyBatis官方提供的Starter可以很方便地进行集成。同时,本章对Starter中的配置做了简单的介绍,可以满足大家对MyBatis各项配置方面的需要。
第11章:MyBatis开源项目
- 11.1 Git入门
- 11.2 GitHub入门
- 11.3 MyBatis源码讲解
-
11.4 MyBatis测试用例

本章是一扇通往开源世界的大门,也是一扇通往MyBatis源码学习的大门。从Git入门到GitHub入门,读者可以学会使用最流行的分布式版本控制系统和源代码托管服务。通过一段代码让大家了解MyBatis中的一部分关键类, 通过代码包讲解可以了解MyBatis每个包中所含的功能。最后通过MyBatis丰富的测试用例为读者提供更多更有用的学习内容。
前边咱们介绍了Spring Boot整合MyBatis,小编再来分享一篇Spring Boot2精髓解析,让大家更加方便的学习~~~
内容概述
Spring Boot是目前Spring 技术体系中炙手可热的框架之一, 既可用于构建业务复杂的企业应用系统,也可以开发高性能和高吞吐量的互联网应用。Spring Boot框架降低了Spring 技术体系的使用门槛,简化了Spring 应用的搭建和开发过程,提供了流行的第三方开源技术的自动集成。
本篇系统介绍了Spring Boot2的主要技术,侧重于两个方面,一方面是极速开发一个Web应用系统,详细介绍Spring Boot框架、Spring MVC、视图技术、数据库访问技术,并且介绍多环境部署、自动装配、单元测试等高级特性。另一方面, 当系统模块增加,性能和吞吐量要求增加时,如何平滑地用Spring Boot实现分布式架构,也会在本书后半部分介绍,包括使用Spring实现RESTful架构,在Spring Boot框架下使用Redis、MongoDB、 ZooKeeper、 Elasticsearch 等流行技术,使用Spring Session 实现系统水平扩展,使用Spring Cache提高系统性能。
后记
MyBatis作为一个优秀的Java持久化框架,可以帮助程序员完成ORM映射、查询缓存等常用功能。MyBatis 以其高性能、易优化、易维护、可扩展等优点,受到越来越多的开发人员的青睐,也有越来越多的设计人员开始将MyBatis作为其首选的Java持久化框架。
本文档详尽介绍了MyBatis框架的各项特性和应用场景,从基础知识到高级技巧,涵盖XML配置、注解使用、动态SQL、代码生成器、缓存配置等内容,并深入探讨了与Spring及SpringBoot的集成。

被折叠的 条评论
为什么被折叠?



