mysql generator备注_mybatis-generator数据库注释实体类生成以及generatorConfig文件配置...

packageorg.mybatis.generator;/*** Created by 草帽boy on 2017/2/16.

* mybatis generator 自定义comment生成器.

* 基于MBG 1.3.2.

*@authorZhangAY 2016-02-19*/

importjava.text.SimpleDateFormat;importjava.util.Date;importjava.util.Properties;importorg.mybatis.generator.api.CommentGenerator;importorg.mybatis.generator.api.IntrospectedColumn;importorg.mybatis.generator.api.IntrospectedTable;import org.mybatis.generator.api.dom.java.*;importorg.mybatis.generator.api.dom.xml.XmlElement;importorg.mybatis.generator.config.MergeConstants;importorg.mybatis.generator.config.PropertyRegistry;importorg.mybatis.generator.internal.util.StringUtility;public class MyCommentGenerator implementsCommentGenerator {privateProperties properties;privateProperties systemPro;private booleansuppressDate;private booleansuppressAllComments;privateString currentDateStr;publicMyCommentGenerator() {super();

properties= newProperties();

systemPro=System.getProperties();

suppressDate= false;

suppressAllComments= false;

currentDateStr= (new SimpleDateFormat("yyyy-MM-dd")).format(newDate());

}public voidaddJavaFileComment(CompilationUnit compilationUnit) {//add no file level comments by default

return;

}/*** Adds a suitable comment to warn users that the element was generated, and

* when it was generated.*/

public voidaddComment(XmlElement xmlElement) {return;

}public voidaddRootComment(XmlElement rootElement) {//add no document level comments by default

return;

}public voidaddConfigurationProperties(Properties properties) {this.properties.putAll(properties);

suppressDate=StringUtility.isTrue(properties.getProperty(PropertyRegistry.COMMENT_GENERATOR_SUPPRESS_DATE));

suppressAllComments=StringUtility.isTrue(properties.getProperty(PropertyRegistry.COMMENT_GENERATOR_SUPPRESS_ALL_COMMENTS));

}/*** This method adds the custom javadoc tag for. You may do nothing if you do

* not wish to include the Javadoc tag - however, if you do not include the

* Javadoc tag then the Java merge capability of the eclipse plugin will

* break.

*

*@paramjavaElement the java element*/

protected void addJavadocTag(JavaElement javaElement, booleanmarkAsDoNotDelete) {

javaElement.addJavaDocLine(" *");

StringBuilder sb= newStringBuilder();

sb.append(" * ");

sb.append(MergeConstants.NEW_ELEMENT_TAG);if(markAsDoNotDelete) {

sb.append(" do_not_delete_during_merge");

}

String s=getDateString();if (s != null) {

sb.append(' ');

sb.append(s);

}

javaElement.addJavaDocLine(sb.toString());

}/*** This method returns a formated date string to include in the Javadoc tag

* and XML comments. You may return null if you do not want the date in

* these documentation elements.

*

*@returna string representing the current timestamp, or null*/

protectedString getDateString() {

String result= null;if (!suppressDate) {

result=currentDateStr;

}returnresult;

}public voidaddClassComment(InnerClass innerClass, IntrospectedTable introspectedTable) {if(suppressAllComments) {return;

}

StringBuilder sb= newStringBuilder();

innerClass.addJavaDocLine("/**");

sb.append(" * ");

sb.append(introspectedTable.getFullyQualifiedTable());

sb.append(" ");

sb.append(getDateString());

innerClass.addJavaDocLine(sb.toString());

innerClass.addJavaDocLine(" */");

}public voidaddEnumComment(InnerEnum innerEnum, IntrospectedTable introspectedTable) {if(suppressAllComments) {return;

}

StringBuilder sb= newStringBuilder();

innerEnum.addJavaDocLine("/**");//addJavadocTag(innerEnum, false);

sb.append(" * ");

sb.append(introspectedTable.getFullyQualifiedTable());

innerEnum.addJavaDocLine(sb.toString());

innerEnum.addJavaDocLine(" */");

}public voidaddFieldComment(Field field, IntrospectedTable introspectedTable,

IntrospectedColumn introspectedColumn) {if(suppressAllComments) {return;

}

StringBuilder sb= newStringBuilder();

field.addJavaDocLine("/**");

sb.append(" * ");

sb.append(introspectedColumn.getRemarks());

field.addJavaDocLine(sb.toString());//addJavadocTag(field, false);

field.addJavaDocLine(" */");

}public voidaddFieldComment(Field field, IntrospectedTable introspectedTable) {if(suppressAllComments) {return;

}

StringBuilder sb= newStringBuilder();

field.addJavaDocLine("/**");

sb.append(" * ");

sb.append(introspectedTable.getFullyQualifiedTable());

field.addJavaDocLine(sb.toString());

field.addJavaDocLine(" */");

}public voidaddModelClassComment(TopLevelClass topLevelClass, IntrospectedTable introspectedTable) {

}public voidaddGeneralMethodComment(Method method, IntrospectedTable introspectedTable) {if(suppressAllComments) {return;

}//method.addJavaDocLine("/**");//addJavadocTag(method, false);//method.addJavaDocLine(" */");

}public voidaddGetterComment(Method method, IntrospectedTable introspectedTable,

IntrospectedColumn introspectedColumn) {if(suppressAllComments) {return;

}

method.addJavaDocLine("/**");

StringBuilder sb= newStringBuilder();

sb.append(" * ");

sb.append(introspectedColumn.getRemarks());

method.addJavaDocLine(sb.toString());

sb.setLength(0);

sb.append(" * @return ");

sb.append(introspectedColumn.getActualColumnName());

sb.append(" ");

sb.append(introspectedColumn.getRemarks());

method.addJavaDocLine(sb.toString());//addJavadocTag(method, false);

method.addJavaDocLine(" */");

}public voidaddSetterComment(Method method, IntrospectedTable introspectedTable,

IntrospectedColumn introspectedColumn) {if(suppressAllComments) {return;

}

method.addJavaDocLine("/**");

StringBuilder sb= newStringBuilder();

sb.append(" * ");

sb.append(introspectedColumn.getRemarks());

method.addJavaDocLine(sb.toString());

Parameter parm= method.getParameters().get(0);

sb.setLength(0);

sb.append(" * @param ");

sb.append(parm.getName());

sb.append(" ");

sb.append(introspectedColumn.getRemarks());

method.addJavaDocLine(sb.toString());//addJavadocTag(method, false);

method.addJavaDocLine(" */");

}public void addClassComment(InnerClass innerClass, IntrospectedTable introspectedTable, booleanmarkAsDoNotDelete) {if(suppressAllComments) {return;

}

StringBuilder sb= newStringBuilder();

innerClass.addJavaDocLine("/**");

sb.append(" * ");

sb.append(introspectedTable.getFullyQualifiedTable());

innerClass.addJavaDocLine(sb.toString());

sb.setLength(0);

sb.append(" * @author ");

sb.append(systemPro.getProperty("user.name"));

sb.append(" ");

sb.append(currentDateStr);//addJavadocTag(innerClass, markAsDoNotDelete);

innerClass.addJavaDocLine(" */");

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值