制作代码生成器模板,需要先熟悉freemarker模板语法,还有就是上小节提供的模板数据。下面是项目 maku-boot 对应的实体类模板,如果大家对freemarker不熟悉,可以参考项目提供的现有模板,编写自己项目的模板。
package ${package}.${moduleName}.entity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import com.baomidou.mybatisplus.annotation.*;
<#list importList as i>
import ${i!};
</#list>
<#if baseClass??>
import ${baseClass.packageName}.${baseClass.code};
</#if>
/**
* ${tableComment}
*
* @author ${author} ${email}
* @since ${version} ${date}
*/
<#if baseClass??>@EqualsAndHashCode(callSuper=false)</#if>
@Data
@TableName("${tableName}")
public class ${ClassName}Entity<#if baseClass??> extends ${baseClass.code}</#if> {
<#list fieldList as field>
<#if !field.baseField>
<#if field.fieldComment!?length gt 0>
/**
* ${field.fieldComment}
*/
</#if>
<#if field.autoFill == "INSERT">
@TableField(fill = FieldFill.INSERT)
</#if>
<#if field.autoFill == "INSERT_UPDATE">
@TableField(fill = FieldFill.INSERT_UPDATE)
</#if>
<#if field.autoFill == "UPDATE">
@TableField(fill = FieldFill.UPDATE)
</#if>
<#if field.primaryPk>
@TableId
</#if>
private ${field.attrType} ${field.attrName};
</#if>
</#list>
}