mybatis-generator 注释插件
插件地址(https://github.com/suyin58/mybatis-generator-tddl/blob/master/generator-plugin/src/main/java/com/toolplat/generator/plugins/CommentGenerator.java)
可以修改类注释、属性注释、方法注释等
插件需要继承DefaultCommentGenerator
public class CommentGenerator extends DefaultCommentGenerator { }
类注释需要重写addModelClassComment方法
/** * set model comment from table remark * @param topLevelClass * @param introspectedTable */ @Override public void addModelClassComment(TopLevelClass topLevelClass, IntrospectedTable introspectedTable) { String auth = properties.getProperty("author"); String tableDesc = introspectedTable.getRemarks(); topLevelClass.addJavaDocLine("/**"); topLevelClass.addJavaDocLine(" * " + tableDesc); if (null != auth && auth.length() > 0) { topLevelClass.addJavaDocLine(" * @author " + auth); } topLevelClass.addJavaDocLine(" */"); }
属性注释需要重写addFieldComment方法
/** * set field comment from field remark * @param field * @param introspectedTable * @param introspectedColumn */ @Override public void addFieldComment(Field field, IntrospectedTable introspectedTable, IntrospectedColumn introspectedColumn) { String remark = introspectedColumn.getRemarks(); field.addJavaDocLine("/**"); field.addJavaDocLine(" * " + remark); field.addJavaDocLine(" */"); }
mapper方法注释需要重写addGeneralMethodComment方法
/** * remove java mapping coment * * @param method * @param introspectedTable */ @Override public void addGeneralMethodComment(Method method, IntrospectedTable introspectedTable) { // method.addJavaDocLine("/**"); // method.addJavaDocLine(" * auto method:" + method.getName()); // if (method.getParameters() != null && method.getParameters().size() > 0) { // for (Parameter param : method.getParameters()) { // method.addJavaDocLine(" * @param " + param.getName()); // } // } // Optional<FullyQualifiedJavaType> ret = method.getReturnType(); // if (ret.isPresent()) { // method.addJavaDocLine(" * @return " + ret.get().getShortName()); // } // method.addJavaDocLine(" */"); }
生成效果:
package com.toolplat.demo.domain; import java.io.Serializable; import java.util.Date; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; import lombok.ToString; /** * 单个uk测试 */ @Data @Builder @NoArgsConstructor @AllArgsConstructor @ToString public class TableOneUniqueKeyPO implements Serializable { private static final long serialVersionUID = 21323185007909L; /** * 多群主键 */ private Long orgId; /** * 多码 */ private String code; /** * id */ private Long id; /** * 创建时间 */ private Date gmtCreate; /** * 修改时间 */ private Date gmtModified; /** * 会话ID */ private String cid; }
mapper方法:
package com.toolplat.demo.dao; import com.toolplat.demo.domain.TableOneUniqueKeyPO; import com.toolplat.demo.domain.TableOneUniqueKeyPOExample; import java.util.List; import org.apache.ibatis.annotations.Param; public interface TableOneUniqueKeyMapper { long countByExample(TableOneUniqueKeyPOExample example); int deleteByExample(TableOneUniqueKeyPOExample example); int deleteByPrimaryKey(@Param("orgId") Long orgId, @Param("code") String code); int insert(TableOneUniqueKeyPO record); int insertSelective(TableOneUniqueKeyPO record); List<TableOneUniqueKeyPO> selectByExample(TableOneUniqueKeyPOExample example); TableOneUniqueKeyPO selectByExampleForUpdate(TableOneUniqueKeyPOExample example); TableOneUniqueKeyPO selectByPrimaryKey(@Param("orgId") Long orgId, @Param("code") String code); TableOneUniqueKeyPO selectByPrimaryKeyForUpdate(@Param("orgId") Long orgId, @Param("code") String code); int updateByExampleSelective(@Param("record") TableOneUniqueKeyPO record, @Param("example") TableOneUniqueKeyPOExample example); int updateByExample(@Param("record") TableOneUniqueKeyPO record, @Param("example") TableOneUniqueKeyPOExample example); int updateByPrimaryKeySelective(TableOneUniqueKeyPO record); int updateByPrimaryKey(TableOneUniqueKeyPO record); TableOneUniqueKeyPO selectByUniqueKey(@Param("orgId") Long orgId, @Param("code") String code); TableOneUniqueKeyPO selectByUniqueKeyForUpdate(@Param("orgId") Long orgId, @Param("code") String code); int updateByUniqueKeySelective(TableOneUniqueKeyPO record); int deleteByUniqueKey(@Param("orgId") Long orgId, @Param("code") String code); int batchInsert(@Param("list") List<TableOneUniqueKeyPO> list); int upsertByPrimaryKey(TableOneUniqueKeyPO record); int upsertByUniqueKey(TableOneUniqueKeyPO record); }