domain.java.vm 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. package ${packageName}.domain;
  2. #foreach ($import in $importList)
  3. import ${import};
  4. #end
  5. ## 导入Apache Commons Lang3工具类, 用于toString方法
  6. ##import org.apache.commons.lang3.builder.ToStringBuilder;
  7. ##import org.apache.commons.lang3.builder.ToStringStyle;
  8. ## 导入自定义的Excel注解, 用于生成Excel表头
  9. import com.dkd.common.annotation.Excel;
  10. #if($table.crud || $table.sub)
  11. import com.dkd.common.core.domain.BaseEntity;
  12. #elseif($table.tree)
  13. import com.dkd.common.core.domain.TreeEntity;
  14. #end
  15. ## 引入lombok注解
  16. import io.swagger.annotations.ApiModel;
  17. import io.swagger.annotations.ApiModelProperty;
  18. import lombok.AllArgsConstructor;
  19. import lombok.Builder;
  20. import lombok.Data;
  21. import lombok.NoArgsConstructor;
  22. /**
  23. * ${functionName}对象 ${tableName}
  24. *
  25. * @author ${author}
  26. * @date ${datetime}
  27. */
  28. #if($table.crud || $table.sub)
  29. #set($Entity="BaseEntity")
  30. #elseif($table.tree)
  31. #set($Entity="TreeEntity")
  32. #end
  33. @Data
  34. @AllArgsConstructor
  35. @NoArgsConstructor
  36. @Builder
  37. @ApiModel(description = "${functionName}对象 ${tableName}")
  38. public class ${ClassName} extends ${Entity}
  39. {
  40. private static final long serialVersionUID=1L;
  41. ## 遍历表字段
  42. #foreach ($column in $columns)
  43. #if(!$table.isSuperColumn($column.javaField))
  44. /** $column.columnComment */
  45. #if($column.list)
  46. #set($parentheseIndex=$column.columnComment.indexOf("("))
  47. #if($parentheseIndex != -1)
  48. #set($comment=$column.columnComment.substring(0, $parentheseIndex))
  49. #else
  50. #set($comment=$column.columnComment)
  51. #end
  52. #if($parentheseIndex != -1)
  53. @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
  54. #elseif($column.javaType == 'Date')
  55. @JsonFormat(pattern = "yyyy-MM-dd")
  56. @Excel(name = "${comment}", width = 30, dateFormat = "yyyy-MM-dd")
  57. #else
  58. @Excel(name = "${comment}")
  59. #end
  60. #end
  61. @ApiModelProperty(value = "${column.columnComment}")
  62. private $column.javaType $column.javaField;
  63. #end
  64. #end
  65. ## 如果有子表,则生成子表的List集合
  66. #if($table.sub)
  67. /** $table.subTable.functionName信息 */
  68. private List<${subClassName}> ${subclassName}List;
  69. #end
  70. ## 为每个属性生成get、set方法
  71. ###foreach ($column in $columns)
  72. ## #if(!$table.isSuperColumn($column.javaField))
  73. ## #if($column.javaField.length() > 2 && $column.javaField.substring(1,2).matches("[A-Z]"))
  74. ## #set($AttrName=$column.javaField)
  75. ## #else
  76. ## #set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
  77. ## #end
  78. ## public void set${AttrName}($column.javaType $column.javaField)
  79. ## {
  80. ## this.$column.javaField = $column.javaField;
  81. ## }
  82. ##
  83. ## public $column.javaType get${AttrName}()
  84. ## {
  85. ## return $column.javaField;
  86. ## }
  87. ## #end
  88. ###end
  89. ## 如果有子表,则生成子表的get、set方法
  90. ###if($table.sub)
  91. ##public List<${subClassName}> get${subClassName}List()
  92. ## {
  93. ## return ${subclassName}List;
  94. ## }
  95. ##
  96. ##public void set${subClassName}List(List<${subClassName}> ${subclassName}List)
  97. ## {
  98. ## this.${subclassName}List= ${subclassName}List;
  99. ## }
  100. ##
  101. ###end
  102. ## 重写toString方法
  103. ##@Override
  104. ##public String toString(){
  105. ## return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
  106. ## #foreach ($column in $columns)
  107. ## #if($column.javaField.length() > 2 && $column.javaField.substring(1,2).matches("[A-Z]"))
  108. ## #set($AttrName=$column.javaField)
  109. ## #else
  110. ## #set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
  111. ## #end
  112. ## .append("${column.javaField}",get${AttrName}())
  113. ## #end
  114. ## #if($table.sub)
  115. ## .append("${subclassName}List",get${subClassName}List())
  116. ## #end
  117. ## .toString();
  118. ## }
  119. }