插件地址(https://github.com/suyin58/mybatis-generator-tddl/blob/master/generator-plugin/src/main/java/com/toolplat/generator/plugins/CommentGenerator.java)
可以修改类注释、属性注释、方法注释等
插件需要继承DefaultCommentGenerator
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIiZpdmLrN2bsJEZlR3YhJHdu92Qvw1cy9GdhNWak5WSn5WaulGb0V3TvwVbvNmLzd2bsJmbj5ycldWYtl2Lc9CX6MHc0RHaiojIsJye.gif)
public class CommentGenerator extends DefaultCommentGenerator {
}
View Code
类注释需要重写addModelClassComment方法
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIiZpdmLrN2bsJEZlR3YhJHdu92Qvw1cy9GdhNWak5WSn5WaulGb0V3TvwVbvNmLzd2bsJmbj5ycldWYtl2Lc9CX6MHc0RHaiojIsJye.gif)
/**
* 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方法
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIiZpdmLrN2bsJEZlR3YhJHdu92Qvw1cy9GdhNWak5WSn5WaulGb0V3TvwVbvNmLzd2bsJmbj5ycldWYtl2Lc9CX6MHc0RHaiojIsJye.gif)
/**
* 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方法
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIiZpdmLrN2bsJEZlR3YhJHdu92Qvw1cy9GdhNWak5WSn5WaulGb0V3TvwVbvNmLzd2bsJmbj5ycldWYtl2Lc9CX6MHc0RHaiojIsJye.gif)
/**
* 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(" */");
}
生成效果:
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIiZpdmLrN2bsJEZlR3YhJHdu92Qvw1cy9GdhNWak5WSn5WaulGb0V3TvwVbvNmLzd2bsJmbj5ycldWYtl2Lc9CX6MHc0RHaiojIsJye.gif)
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方法:
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIiZpdmLrN2bsJEZlR3YhJHdu92Qvw1cy9GdhNWak5WSn5WaulGb0V3TvwVbvNmLzd2bsJmbj5ycldWYtl2Lc9CX6MHc0RHaiojIsJye.gif)
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);
}
mapper方法注释