上周搞出了用Mybatis Generator插件生成数据库表对应的domain、dao以及相应的mapper.xml。我想要的效果是在domain中加入数据库中的注释,去掉dao中方法的注释。思路为继承DefaultCommentGenerator,重写addFieldComment以及addGeneralMethodComment方法,再打成jar包,应用在主模块中。
下面仅列出工程结构及关键代码,完整代码请参考https://github.com/code-group/mybatisGenerator.git。
0. 准备:intellij idea,maven,mysql
1. 重构插件mybatis-generator-core
关键是写一个类继承DefaultCommentGenerator,用maven打包。
首先看pom.xml的配置。定义组建id:groupId,artifactId,version以及打包方式packaging(见下图1位置)。引入依赖包org.mybatis.generator,见下图2位置。
接下来,重写添加注释的方法。自己新建一个类,继承DefaultCommentGenerator,重写addFieldComment方法添加字段注释,重写addGeneralMethodComment方法去掉方法注释。如果需要改写其他方法,也相应重写。代码见下图:
完整的模块目录如下:
最后打包,双击Maven Projects视图中install,打包到本地仓库。
2. 使用mybatis-generator
新建一个模块,配置pom文件,在依赖中引用mysql-connector,在插件中添加我们自己的jar包。
在resources中添加generatorConfig.xml,generator.properties配置Mybatis Generator。定义属性文件,指定jdbc驱动位置,指定生成注释的类,生成domain、dao、mapper文件相应的位置等等。
最后指定需要操作的表:
工程目录结构如下:
配置模块运行命令,在Run configurations中添加Maven配置,编辑配置名称、工作目录、命令。
最后在Maven Projects视图中,双击我们刚配置的运行方式generator,即可生成表相应的domain、dao、mapper了。
3. 最终效果
最后感谢网络上前辈们的经验,也感谢自己亲自踩坑,探索出了方法。希望对你有帮助~