前言
Spring Boot集成Mybatis的教程很多,本篇内容的介绍主要是怎么在Spring Boot中引入Mybatis的一个非常实用的通用mapper框架——tk.mybatis框架,使得大多情况下的单表的CRUD操作不再编写重复的mapper。
1、依赖导入及配置
1.1、pom依赖导入
需要导入的核心依赖有:jdbc-starter、mybatis-starter、数据库驱动、通用mapper库,核心pom依赖如下:
1 | <!-- mybatis库 --> |
完整的pom实例如下【注:其中的lombok库仅仅是个工具库,该库与内容没关系】:
1 | <?xml version="1.0" encoding="UTF-8"?> |
1.2、配置spring配置文件
在spring-boot默认配置文件中配置数据库配置。代码如下:
配置文件:application.yml
1 | spring: |
2、数据库表
数据库表使用 tb_feekback 做例子,此库用于记录用户反馈信息的表,包括:标题、反馈类型、反馈内容、提交时间,建表语句如下:
1 | CREATE TABLE `tb_feedback` ( |
3、创建数据库对应的java实体类
与数据库表数据映射的java实体类如下:
【注意:在数据库中命名规则为created_at
类型,而在java实体对象中为createdAt
类型】
1 | // table表示与数据库映射的表名 |
其中FeedbackType是枚举类型,代码如下:【如果想要mybatis支持枚举类型,需要做的配置见 1.2 小节的配置说明】
1 | /** |
4、创建对应的mapper接口
创建Feedback对应的Mapper接口,接口继承tk.mybatis.mapper.common.Mapper
接口,泛型为第3步中创建的与数据库表映射的java实体对象。
1 | import tk.mybatis.mapper.common.Mapper; |
5、编写持久层逻辑
编写了Mapper接口后,只需要使用注解`@org.apache.ibatis.annotations.Mapper`修饰该Mapper即可,不用编写实现类,我们在持久化层直接注入该Mapper就可以直接操作数据库了。代码如下:
1 |
|
至此,我们已经完成了所有工作。
很多情况下,我们的Mapper接口都只需要继承tk.mybatis.mapper.common.Mapper
接口,并使用其提供的tk.mybatis.mapper.entity.Example
类,可以完成大多数的单表CRUD操作,极大程度地提升了开发效率。