在上一节中,我带大家学习了Spring Boot中整合JPA,那接下来这一章节中,我继续带领大家学习如何在Spring Boot中整合Mybatis。
一. Mybatis简介
1. MyBatis概述
MyBatis是一款优秀的持久层框架,它本来是apache的一个开源项目iBatis。在2010年的时候,这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis;2013年11月又迁移到Github。
iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。
2. Mybatis特点
- 支持定制化 SQL、存储过程以及高级映射。
- MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。
- 简单易学:本身就很小且简单。没有任何第三方依赖,最简单安装只要两个jar文件+配置几个sql映射文件易于学习,易于使用,通过文档和源代码,可以比较完全的掌握它的设计思路和实现。
- 灵活:mybatis不会对应用程序或者数据库的现有设计强加任何影响。 sql写在xml里,便于统一管理和优化。通过sql语句可以满足操作数据库的所有需求。
- 解除sql与程序代码的耦合:通过提供DAO层,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护,更易单元测试。sql和代码的分离,提高了可维护性。
- 提供映射标签,支持对象与数据库的orm字段关系映射。
- 提供对象关系映射标签,支持对象关系组建维护。
- 提供xml标签,支持编写动态sql。
3. Mybatis的发展历程
Mybatis 初期使用比较麻烦,需要各种配置文件、实体类、Dao 层映射关联、还有一大推其它配置。
然后 Mybatis 就发现了这种弊端,为了解决这种弊端,就开发了generator逆向工程,可以根据表结构自动生成实体类、配置文件和 Dao 层代码,可以减轻一部分开发量。
后期也进行了大量的优化,可以使用注解进一步简化开发,自动管理 Dao 层和配置文件等。
到了今天Mybatis进一步简化到极致,那就是mybatis-spring-boot-starter 的出现。我们可以利用 Spring Boot 整合 Mybatis,即使完全不用配置文件,也可以简单配置轻松实现数据库操作。
二. Spring Boot中整合Mybatis
SpringBoot中整合Mybatis有2种实现方式:
- 1.注解方式;
- 2.xml方式。
由于注解方式更为简易普遍,所以本案例讲解以注解方式实现的案例。
1. 创建Web项目
我们按照之前的经验,创建一个web程序,并将之改造成Spring Boot项目,具体过程略。