开篇
很多项目会考虑使用Mybatis,如果使用了的话MybatisGenerator将会是个很好的选择。它会帮我们自动生成Mapper、Entity、SqlMap文件,在开发中能省很多事。然而MybatisGenerator只生成了为数不多的几个通用方法,没办法满足实际项目中多种多样的业务模型。庆幸的是,它提供自定义插件的功能,这就给我们开启了一扇大门。本人在项目中积累了几个比较常用的插件,本系列文章就一一来分享下。本人近期的项目中使用的都是Mysql,所以,自定义插件生成的SQL方言也都是只针对Mysql的。
清空SqlMap文件
本章节我们先来写一个最简单的清空SqlMap文件的插件。由于默认的生成SqlMap文件的方式是append,当要再次执行MybatisGenerator命令时,需要把之前生成的SqlMap文件删除,这对开发者是很不友好的。一般我会选择新建一个项目来专门放插件,这一篇,把需要的依赖列出来,后面的篇章就不赘述了。
依赖
本人是新建的一个标准的maven项目,所以依赖以maven配置的方式贴出来:
|
|
只需要上面那一个依赖就可以了,也不需要其它什么配置。
插件源码
插件源码也很简单,如下:
|
|
这两个方法还算一目了然,validate
方法表示插件是否生效,sqlMapGenerated
表示在生成SqlMap文件时要处理的逻辑,其过程就是拿到SqlMap的文件引用,然后执行删除操作。
使用
使用就非常简单了,直接在使用方的配置文件中引用就行了:
|
|
本章节就到这里了。