一共记录2种有效方法,进行记录
第一种: 自定义代码生成器
public class MyCommentGenerator extends DefaultCommentGenerator {
// 默认开启注解
private boolean suppressAllComments = true;
//此时需要处理 get /set方法注解 以及mapper文件注解 通过重写相应的方法只保存
//字段描述信息,取消get/set mapper的注解信息
/**
* @author : ShiLei
* @time :2017年12月25日 下午5:42:34
* @introduction : 通过继承DefaultCommentGenerator类 设置实体类对应数据库字段的中文注释
*/
// 设置实体类 属性注释
@Override
public void addFieldComment(Field field, IntrospectedTable introspectedTable, IntrospectedColumn introspectedColumn) {
if (suppressAllComments) {
if (StringUtility.stringHasValue(introspectedColumn.getRemarks())) {
//自定义描述形式
field.addJavaDocLine("//" + introspectedColumn.getRemarks() + " " + introspectedColumn.getActualColumnName());
}
} else {
super.addFieldComment(field, introspectedTable, introspectedColumn);
}
}
// 设置实体类 getter注释
@Override
public void addGetterComment(Method method, IntrospectedTable introspectedTable, IntrospectedColumn introspectedColumn) {
if (suppressAllComments) {
if (StringUtility.stringHasValue(introspectedColumn.getRemarks())) {
method.addJavaDocLine("//获取:" + introspectedColumn.getRemarks());
}
} else {
super.addGetterComment(method, introspectedTable, introspectedColumn);
}
}
// 设置实体类 setter注释
@Override
public void addSetterComment(Method method, IntrospectedTable introspectedTable, IntrospectedColumn introspectedColumn) {
if (suppressAllComments) {
if (StringUtility.stringHasValue(introspectedColumn.getRemarks())) {
method.addJavaDocLine("//设置:" + introspectedColumn.getRemarks());
}
} else {
super.addSetterComment(method, introspectedTable, introspectedColumn);
}
}
// 去掉mapper原始注释
@Override
public void addGeneralMethodComment(Method method, IntrospectedTable introspectedTable) {
if (suppressAllComments) {
return;
} else {
super.addGeneralMethodComment(method, introspectedTable);
}
}
// 去掉mapping原始注释
@Override
public void addComment(XmlElement xmlElement) {
if (suppressAllComments) {
return;
} else {
super.addComment(xmlElement);
}
}
}
generatorConfig.xml 配置加载方式,只需要一行
运行结果展示
方法二 : 通过初始化构造出字段描述属性
在mybatis-generator-core-1.3.7的源码找到
generator\mybatis-generator-core\1.3.7\generator\api\dom\java\Field.class
进行修改,
新增一个字段 private String remarks;
提供set/get方法
在 getFormattedContent方法最后面进行拼接
if(remarks!=null&& remarks.length()>0){
sb.append("//").append(remarks);
}
实际就是
**private String demo ; // 字段信息**
在generator\mybatis-generator-core\1.3.7\generator\internal\util\JavaBeansUtil.class
的 getJavaBeansField方法中添加一列
field.setRemarks("(" + introspectedColumn.getActualColumnName() + “)” + introspectedColumn.getRemarks());
填充remarks字段信息
generatorConfig.xml 配置加载方式,
<plugin type="org.mybatis.generator.plugins.SerializablePlugin"></plugin>
<commentGenerator>
<property name="suppressAllComments" value="true"/>
</commentGenerator>
运行结果展示
通过在线文档进行记录
转载自原文链接, 如需删除请联系管理员。
原文链接:代码生成器_1.3.7产生带字段描述的实体类,转载请注明来源!