一、通用 Mapper 的用途 ?
我个人最早用 MyBatis 时,先是完全手写,然后用上了 MyBatis 代码生成器(简称为 MBG),在使用 MBG 过程中,发现一个很麻烦的问题,如果数据库字段变化很频繁,就需要反复重新生成代码,并且由于 MBG 覆盖生成代码和追加方式生成 XML,导致每次重新生成都需要大量的比对修改。除了这个问题外,还有一个问题,仅仅基础的增删改查等方法,就已经产生了大量的 XML 内容,还没有添加一个自己手写的方法,代码可能就已经几百行了,内容多,看着比较碍事。
因为很多人都在使用 MBG,MBG 中定义了很多常用的单表方法,为了解决前面提到的问题,也为了兼容 MBG 的方法避免项目重构太多,在 MBG 的基础上结合了部分 JPA 注解产生了通用 Mapper。通用 Mapper 可以很简单的让你获取基础的单表方法,也很方便扩展通用方法。使用通用 Mapper 可以极大的提高你的工作效率。
通过下面的快速入门,会让你尽快的了解基本的用法。
通用 Mapper 诞生于 2014 年 11 月:https://blog.csdn.net/isea533/article/details/41457529
上面文章的设计思路和现在完全不同。
如果想要了解当前的实现原理,可以看下面这篇。
MyBatis 通用 Mapper 实现原理 :https://blog.csdn.net/isea533/article/details/78493852
二、快速入门
为了让你更快速的了解通用 Mapper 的优势,这里会更简洁的让你了解整个过程。
首先在 Maven 项目的 pom.xml 中添加通用 Mapper 依赖:
tk.mybatis mapper 最新版本
最新版本可以看这里: https://mvnrepository.com/artifact/tk.mybatis/mapper
接下来,开始具体的使用。
1. 配置实体类
通过 MBG 配合 专用代码生成器 可以直接生成实体类等基础代码,为了避免信息量过大,这里当作手工编写和配置。
有如下类: