基于 Velocity 的 macro 和 parse 指令,优化模板的可维护性
parent
b8015e87b3
commit
763e20796b
|
@ -0,0 +1,13 @@
|
||||||
|
## 提供给 baseVO、createVO、updateVO 生成字段
|
||||||
|
@ApiModelProperty(value = "${column.columnComment}"#if (!${column.nullable}), required = true#end#if ("$!column.example" != ""), example = "${column.example}"#end)
|
||||||
|
#if (!${column.nullable})## 判断 @NotEmpty 和 @NotNull 注解
|
||||||
|
#if (${field.fieldType} == 'String')
|
||||||
|
@NotEmpty(message = "${column.columnComment}不能为空")
|
||||||
|
#else
|
||||||
|
@NotNull(message = "${column.columnComment}不能为空")
|
||||||
|
#end
|
||||||
|
#end
|
||||||
|
#if (${column.javaType} == "Date")## 时间类型
|
||||||
|
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||||
|
#end
|
||||||
|
private ${column.javaType} ${column.javaField};
|
|
@ -14,14 +14,7 @@ public class ${table.className}BaseVO {
|
||||||
|
|
||||||
#foreach ($column in $columns)
|
#foreach ($column in $columns)
|
||||||
#if (${column.createOperation} && ${column.updateOperation} && ${column.listOperationResult})##通用操作
|
#if (${column.createOperation} && ${column.updateOperation} && ${column.listOperationResult})##通用操作
|
||||||
@ApiModelProperty(value = "${column.columnComment}"#if (!${column.nullable}), required = true#end#if ("$!column.example" != ""), example = "${column.example}"#end)
|
#parse("codegen/controller/vo/_column.vm")
|
||||||
#if (!${column.nullable})#if (${field.fieldType} == 'String')## 判断 @NotEmpty 和 @NotNull 注解
|
|
||||||
@NotEmpty(message = "${column.columnComment}不能为空")
|
|
||||||
#else
|
|
||||||
@NotNull(message = "${column.columnComment}不能为空")
|
|
||||||
#end
|
|
||||||
#end
|
|
||||||
private ${column.javaType} ${column.javaField};
|
|
||||||
|
|
||||||
#end
|
#end
|
||||||
#end
|
#end
|
||||||
|
|
|
@ -4,6 +4,16 @@ import lombok.*;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import io.swagger.annotations.*;
|
import io.swagger.annotations.*;
|
||||||
import javax.validation.constraints.*;
|
import javax.validation.constraints.*;
|
||||||
|
## 处理 Date 字段的引入
|
||||||
|
#foreach ($column in $columns)
|
||||||
|
#if (${column.createOperation} && (!${column.updateOperation} || !${column.listOperationResult})
|
||||||
|
&& ${column.javaType} == "Date")## 时间类型
|
||||||
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
|
||||||
|
import static ${DateUtilsClassName}.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
|
||||||
|
#break
|
||||||
|
#end
|
||||||
|
#end
|
||||||
|
|
||||||
@ApiModel("${table.classComment}创建 Request VO")
|
@ApiModel("${table.classComment}创建 Request VO")
|
||||||
@Data
|
@Data
|
||||||
|
@ -13,14 +23,7 @@ public class ${table.className}CreateReqVO extends ${table.className}BaseVO {
|
||||||
|
|
||||||
#foreach ($column in $columns)
|
#foreach ($column in $columns)
|
||||||
#if (${column.createOperation} && (!${column.updateOperation} || !${column.listOperationResult}))##不是通用字段
|
#if (${column.createOperation} && (!${column.updateOperation} || !${column.listOperationResult}))##不是通用字段
|
||||||
@ApiModelProperty(value = "${column.columnComment}"#if (!${column.nullable}), required = true#end#if ("$!column.example" != ""), example = "${column.example}"#end)
|
#parse("codegen/controller/vo/_column.vm")
|
||||||
#if (!${column.nullable})#if (${field.fieldType} == 'String')## 判断 @NotEmpty 和 @NotNull 注解
|
|
||||||
@NotEmpty(message = "${column.columnComment}不能为空")
|
|
||||||
#else
|
|
||||||
@NotNull(message = "${column.columnComment}不能为空")
|
|
||||||
#end
|
|
||||||
#end
|
|
||||||
private ${column.javaType} ${column.javaField};
|
|
||||||
|
|
||||||
#end
|
#end
|
||||||
#end
|
#end
|
||||||
|
|
|
@ -4,42 +4,39 @@ import lombok.*;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import io.swagger.annotations.*;
|
import io.swagger.annotations.*;
|
||||||
import ${PageParamClassName};
|
import ${PageParamClassName};
|
||||||
#if (${hasDateColumn})
|
## 处理 Date 字段的引入
|
||||||
|
#foreach ($column in $columns)
|
||||||
|
#if (${column.listOperation} && ${column.javaType} == "Date")## 时间类型
|
||||||
import org.springframework.format.annotation.DateTimeFormat;
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
|
||||||
import static ${DateUtilsClassName}.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
|
import static ${DateUtilsClassName}.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
|
||||||
|
#break
|
||||||
|
#end
|
||||||
|
#end
|
||||||
|
## 字段模板
|
||||||
|
#macro(columnTpl $prefix $prefixStr)
|
||||||
|
#if (${column.javaType} == "Date")## 时间类型
|
||||||
|
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||||
|
#end
|
||||||
|
@ApiModelProperty(value = "${prefixStr}${column.columnComment}"#if ("$!column.example" != ""), example = "${column.example}"#end)
|
||||||
|
private ${column.javaType}#if ("$!prefix" != "") ${prefix}${JavaField}#else ${column.javaField}#end;
|
||||||
#end
|
#end
|
||||||
|
|
||||||
@ApiModel("${table.classComment}分页 Request VO")
|
@ApiModel("${table.classComment}分页 Request VO")
|
||||||
@Data
|
@Data
|
||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@ToString(callSuper = true)
|
@ToString(callSuper = true)
|
||||||
@Builder
|
|
||||||
@NoArgsConstructor
|
|
||||||
@AllArgsConstructor
|
|
||||||
public class ${table.className}PageReqVO extends PageParam {
|
public class ${table.className}PageReqVO extends PageParam {
|
||||||
|
|
||||||
#foreach ($column in $columns)
|
#foreach ($column in $columns)
|
||||||
#set ($JavaField = $column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})##首字母大写
|
#set ($JavaField = $column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})##首字母大写
|
||||||
#if (${column.listOperation})##查询操作
|
#if (${column.listOperation})##查询操作
|
||||||
#if (${column.listOperationCondition} == "BETWEEN")## 情况一,Between 的时候
|
#if (${column.listOperationCondition} == "BETWEEN")## 情况一,Between 的时候
|
||||||
@ApiModelProperty(value = "开始${column.columnComment}"#if ("$!column.example" != ""), example = "${column.example}"#end)
|
#columnTpl('begin', '开始')
|
||||||
#if (${column.javaType} == "Date")## 时间类型
|
|
||||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
|
||||||
#end
|
|
||||||
private ${column.javaType} begin${JavaField};
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "结束${column.columnComment}"#if ("$!column.example" != ""), example = "${column.example}"#end)
|
#columnTpl('end', '结束')
|
||||||
#if (${column.javaType} == "Date")## 时间类型
|
|
||||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
|
||||||
#end
|
|
||||||
private ${column.javaType} end${JavaField};
|
|
||||||
#else##情况二,非 Between 的时间
|
#else##情况二,非 Between 的时间
|
||||||
#if (${column.javaType} == "Date")## 时间类型
|
#columnTpl('', '')
|
||||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
|
||||||
#end
|
|
||||||
@ApiModelProperty(value = "${column.columnComment}"#if ("$!column.example" != ""), example = "${column.example}"#end)
|
|
||||||
private ${column.javaType} ${column.javaField};
|
|
||||||
#end
|
#end
|
||||||
|
|
||||||
#end
|
#end
|
||||||
|
|
|
@ -4,6 +4,16 @@ import lombok.*;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import io.swagger.annotations.*;
|
import io.swagger.annotations.*;
|
||||||
import javax.validation.constraints.*;
|
import javax.validation.constraints.*;
|
||||||
|
## 处理 Date 字段的引入
|
||||||
|
#foreach ($column in $columns)
|
||||||
|
#if (${column.updateOperation} && (!${column.createOperation} || !${column.listOperationResult}))
|
||||||
|
&& ${column.javaType} == "Date")## 时间类型
|
||||||
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
|
||||||
|
import static ${DateUtilsClassName}.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
|
||||||
|
#break
|
||||||
|
#end
|
||||||
|
#end
|
||||||
|
|
||||||
@ApiModel("${table.classComment}更新 Request VO")
|
@ApiModel("${table.classComment}更新 Request VO")
|
||||||
@Data
|
@Data
|
||||||
|
@ -13,8 +23,7 @@ public class ${table.className}UpdateReqVO extends ${table.className}BaseVO {
|
||||||
|
|
||||||
#foreach ($column in $columns)
|
#foreach ($column in $columns)
|
||||||
#if (${column.updateOperation} && (!${column.createOperation} || !${column.listOperationResult}))##不是通用字段
|
#if (${column.updateOperation} && (!${column.createOperation} || !${column.listOperationResult}))##不是通用字段
|
||||||
@ApiModelProperty(value = "${column.columnComment}"#if (!${column.nullable}), required = true#end#if ("$!column.example" != ""), example = "${column.example}"#end)
|
#parse("codegen/controller/vo/_column.vm")
|
||||||
private ${column.javaType} ${column.javaField};
|
|
||||||
|
|
||||||
#end
|
#end
|
||||||
#end
|
#end
|
||||||
|
|
|
@ -6,6 +6,11 @@ import ${BaseMapperClassName};
|
||||||
import ${basePackage}.${table.moduleName}.dal.mysql.dataobject.${table.businessName}.${table.className}DO;
|
import ${basePackage}.${table.moduleName}.dal.mysql.dataobject.${table.businessName}.${table.className}DO;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ${table.classComment} Mapper
|
||||||
|
*
|
||||||
|
* @author ${table.author}
|
||||||
|
*/
|
||||||
@Mapper
|
@Mapper
|
||||||
public interface ${table.className}Mapper extends BaseMapperX<${table.className}DO> {
|
public interface ${table.className}Mapper extends BaseMapperX<${table.className}DO> {
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue