如何利用 Mybatis Generator生成带有中文字段名注释的Bean
1个回答
2016-09-01
展开全部
想必在利用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方法。
先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方法。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询