为什么80%的码农都做不了架构师?>>>
利用工具:maven项目,nuxus私服。 Mybatis Generator基本使用教程传送门
想必在利用Mybatis Generator生成代码之后,相比看着一堆鸡肋的注释很多人都和我一样很纠结,明明数据库中字段有注释,为什么生成的Bean没有呢?带着发现问题,一定要解决问题的决心,我进行了探索。
先mark几篇Mybatis Generator的资料:
Mybatis Generator中文API
一篇很详细的博客
要想生成中文注释,首先我们需要新建一个maven项目
然后新建一个类,名字随便啦。。。我这里叫QnloftCommentGenerator
,上代码
package org.mybatis.generator;
import org.mybatis.generator.api.IntrospectedColumn;
import org.mybatis.generator.api.IntrospectedTable;
import org.mybatis.generator.api.dom.java.Field;
import org.mybatis.generator.internal.DefaultCommentGenerator;
/**
* User: R&M www.rmworking.com/blog
* Date: 16/6/20
* Time: 00:56
* mybatis-generator-increase
* org.mybatis.generator
*/
public class QnloftCommentGenerator extends DefaultCommentGenerator {
@Override
public void addFieldComment(Field field, IntrospectedTable introspectedTable, IntrospectedColumn introspectedColumn) {
// 添加字段注释
StringBuffer sb = new StringBuffer();
field.addJavaDocLine("/**");
field.addJavaDocLine(" * ");
if (introspectedColumn.getRemarks() != null)
field.addJavaDocLine(" * " + introspectedColumn.getRemarks());
sb.append(" * 表字段 : ");
sb.append(introspectedTable.getFullyQualifiedTable());
sb.append('.');
sb.append(introspectedColumn.getActualColumnName());
field.addJavaDocLine(sb.toString());
field.addJavaDocLine(" *
");
field.addJavaDocLine(" * ");
// addJavadocTag(field, false);
field.addJavaDocLine(" */");
}
}
主要就是继承DefaultCommentGenerator
,重写addFieldComment
方法。
在pom文件中加入
org.mybatis.generator
mybatis-generator-maven-plugin
1.3.2
OK了,我们执行 mvn -package打包上传到nuxus即可。上传nuxus的方法,请自行百度吧,或者给我留言!
然后在需要生成代码的项目的pom.xml加入我们之前上传的这个jar即可
org.mybatis.generator
mybatis-generator-maven-plugin
1.3.2
src/main/resources/generatorConfig.xml
true
true
Generate MyBatis Artifacts
generate
qnloft-mybatis-generator
mybatis-generator-increase
0.0.1
mysql
mysql-connector-java
5.1.35
最后,修改generatorConfig.xml
配置文件,在commentGenerator
标签中指向我们自定义的注释类。