spring-cloud/yudao-module-infra/yudao-module-infra-biz/src/main/resources/codegen/java/dal/do.vm

60 lines
2.0 KiB
Plaintext

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
}