如何利用 Mybatis Generator生成带有中文字段名注释的Bean

2024-11-18 09:41:15
推荐回答(1个)
回答(1):

想必在利用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方法。