package ${basePackage}.module.${table.moduleName}.dal.dataobject.${table.businessName}; import lombok.*; import java.util.*; ## 处理 BigDecimal/LocalDate/LocalDateTime 字段的引入 #set($importedClasses = []) #foreach ($column in $columns) #if (!${baseDOFields.contains(${column.javaField})})##排除 BaseDO 的字段 #if (${column.javaType} == "BigDecimal" && !$importedClasses.contains("java.math.BigDecimal")) #set($dummy = $importedClasses.add("java.math.BigDecimal")) import java.math.BigDecimal; #end #if (${column.javaType} == "LocalDateTime" && !$importedClasses.contains("java.time.LocalDateTime")) #set($dummy = $importedClasses.add("java.time.LocalDateTime")) import java.time.LocalDateTime; import org.springframework.format.annotation.DateTimeFormat; import static ${DateUtilsClassName}.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; #end #if (${column.javaType} == "LocalDate" && !$importedClasses.contains("java.time.LocalDate")) #set($dummy = $importedClasses.add("java.time.LocalDate")) import java.time.LocalDate; #end #end #end import com.baomidou.mybatisplus.annotation.*; import ${BaseDOClassName}; /** * ${table.classComment} DO * * @author ${table.author} */ @TableName("${table.tableName.toLowerCase()}") @KeySequence("${table.tableName.toLowerCase()}_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 @Data @EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) @Builder @NoArgsConstructor @AllArgsConstructor public class ${table.className}DO extends BaseDO { #foreach ($column in $columns) #if (!${baseDOFields.contains(${column.javaField})})##排除 BaseDO 的字段 /** * ${column.columnComment} #if ("$!column.dictType" != "")##处理枚举值 * * 枚举 {@link TODO ${column.dictType} 对应的类} #end */ #if (${column.primaryKey})##处理主键 @TableId#if (${column.javaType} == 'String')(type = IdType.INPUT)#end #end private ${column.javaType} ${column.javaField}; #end #end }