package ${packageName}.domain; #foreach ($import in $importList) import ${import}; #end ## 导入Apache Commons Lang3工具类, 用于toString方法 ##import org.apache.commons.lang3.builder.ToStringBuilder; ##import org.apache.commons.lang3.builder.ToStringStyle; ## 导入自定义的Excel注解, 用于生成Excel表头 import com.dkd.common.annotation.Excel; #if($table.crud || $table.sub) import com.dkd.common.core.domain.BaseEntity; #elseif($table.tree) import com.dkd.common.core.domain.TreeEntity; #end ## 引入lombok注解 import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; /** * ${functionName}对象 ${tableName} * * @author ${author} * @date ${datetime} */ #if($table.crud || $table.sub) #set($Entity="BaseEntity") #elseif($table.tree) #set($Entity="TreeEntity") #end @Data @AllArgsConstructor @NoArgsConstructor @Builder @ApiModel(description = "${functionName}对象 ${tableName}") public class ${ClassName} extends ${Entity} { private static final long serialVersionUID=1L; ## 遍历表字段 #foreach ($column in $columns) #if(!$table.isSuperColumn($column.javaField)) /** $column.columnComment */ #if($column.list) #set($parentheseIndex=$column.columnComment.indexOf("(")) #if($parentheseIndex != -1) #set($comment=$column.columnComment.substring(0, $parentheseIndex)) #else #set($comment=$column.columnComment) #end #if($parentheseIndex != -1) @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()") #elseif($column.javaType == 'Date') @JsonFormat(pattern = "yyyy-MM-dd") @Excel(name = "${comment}", width = 30, dateFormat = "yyyy-MM-dd") #else @Excel(name = "${comment}") #end #end @ApiModelProperty(value = "${column.columnComment}") private $column.javaType $column.javaField; #end #end ## 如果有子表,则生成子表的List集合 #if($table.sub) /** $table.subTable.functionName信息 */ private List<${subClassName}> ${subclassName}List; #end ## 为每个属性生成get、set方法 ###foreach ($column in $columns) ## #if(!$table.isSuperColumn($column.javaField)) ## #if($column.javaField.length() > 2 && $column.javaField.substring(1,2).matches("[A-Z]")) ## #set($AttrName=$column.javaField) ## #else ## #set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)}) ## #end ## public void set${AttrName}($column.javaType $column.javaField) ## { ## this.$column.javaField = $column.javaField; ## } ## ## public $column.javaType get${AttrName}() ## { ## return $column.javaField; ## } ## #end ###end ## 如果有子表,则生成子表的get、set方法 ###if($table.sub) ##public List<${subClassName}> get${subClassName}List() ## { ## return ${subclassName}List; ## } ## ##public void set${subClassName}List(List<${subClassName}> ${subclassName}List) ## { ## this.${subclassName}List= ${subclassName}List; ## } ## ###end ## 重写toString方法 ##@Override ##public String toString(){ ## return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) ## #foreach ($column in $columns) ## #if($column.javaField.length() > 2 && $column.javaField.substring(1,2).matches("[A-Z]")) ## #set($AttrName=$column.javaField) ## #else ## #set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)}) ## #end ## .append("${column.javaField}",get${AttrName}()) ## #end ## #if($table.sub) ## .append("${subclassName}List",get${subClassName}List()) ## #end ## .toString(); ## } }