前言
本文写于2016.2,是基于mybatis-generator 1.3.2版本来完成的.
目前正式版的mybatis-generator已更新至1.3.5版本,本文同样适用于1.3.3~1.3.5,不过CommentGenerator接口中新增一些方法需要额外实现,这点在使用本文提供的代码示例时需要注意下,毕竟本文是实现的1.3.2的接口.本文来源[email protected]搞@^&代*@码)网5
理论上以后mybatis-generator即便是再有更新,只要接口不变架构不变,那么本文依旧适用,毕竟原理是一样的.
需要注意的是,从1.3.3版本开始在commentGenerator标签下新增了addRemarkComments属性(详情请见commentGenerator),某种程度下可替代本文的一些功能,可以先试下效果再来决定是否来自己实现注释生成.
— 2016.08.27
完善了一些细节.对4.1出现的问题补充了新的解决方案.感谢评论区@Armeng 的提示.
— 2016.09.28
之前第三步提供的运行方法只有maven方式,而java方式的放在了4.1中,对很多读者造成了不便,主要对此进行了调整(调整后3.1为java方式、3.2为maven方式),顺带完善了下java方式运行的示例代码.
— 2018.12.26
正文
mybatis-generator 自动生成的代码注释是很反人类的,通常我们在使用的时候都是按照如下设置关闭注释:
<commentGenerator> <!-- 关闭自动生成的注释 --> <property name="suppressAllComments" value="true" /> </commentGenerator>
不过在mybatis-generator官方文档中commentGenerator一节中有这么一段说明:
The default implementation is org.mybatis.generator.internal.DefaultCommentGenerator. The default implementation is designed for extensibility if you only want to modify certain behaviors.
既然是可扩展的,那么该如何做呢?文档中也有说明,只需要实现 org.mybatis.generator.api.CommentGenerator接口,同时有一个public的构造函数,然后为commentGenerator添加属性type,并将其值设置为实现类的全路径即可.
好吧,文档里面是这么说明的,来看看具体怎么做吧.
事先声明我用的是Eclipse+Maven来构建的.
1.实现CommentGenerator接口
当然首先你的工程中要有mybatis-generator-core这个jar包.相关pom如下:
<dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> <!-- 注意版本.示例代码使用的是1.3.2.采用更高版本自行再实现下新加的接口即可. --> <version>1.3.2</version> </dependency>
正文,实现CommentGenerator接口,当然继承默认的实现DefaultCommentGenerator也行.然后实现或者是重写自己需要的方法.过程中最好是参照着DefaultCommentGenerator里面的代码来做.