解決問題:
原版的mybatis逆向工程生成的實體類沒有,本版本主要就是反編譯逆向工程源碼后修改一個類的方法:
核心包mybatis-generator-core-1.3.2.jar包下的org\mybatis\generator\internal包下的類:DefaultCommentGenerator
原版:
import ***
public class DefaultCommentGenerator implements CommentGenerator {
***
public void addClassComment(InnerClass innerClass, IntrospectedTable introspectedTable) {
if(!this.suppressAllComments) {
StringBuilder sb = new StringBuilder();
innerClass.addJavaDocLine("/**");
innerClass.addJavaDocLine(" * This class was generated by MyBatis Generator.");
sb.append(" * This class corresponds to the database table ");
sb.append(introspectedTable.getFullyQualifiedTable());
innerClass.addJavaDocLine(sb.toString());
this.addJavadocTag(innerClass, false);
innerClass.addJavaDocLine(" */");
}
}
}
修改后:
import ***
public class DefaultCommentGenerator implements CommentGenerator {
***
public void addFieldComment(Field field, IntrospectedTable introspectedTable, IntrospectedColumn introspectedColumn) {
if(introspectedColumn.getRemarks() != null) {
field.addJavaDocLine("/** " + introspectedColumn.getRemarks() + "*/");
}
}
}
修改這個方法后,再生成的實體類每個字段就自動帶上注釋了,當然前提是你的表字段得有備注。
最終結果:
public class Applicant {
/** 崗位*/
private String position;
/** 級別*/
private Integer level;
/** 備注*/
private String comment;
下面附上完整的案例git地址:Mybatis逆向工程