使用velocity模板引擎生成代码格式不对的问题

模板代码块下:

## ----------  BEGIN 字段循环遍历  ----------
#foreach($field in ${table.fields})
    #if(${field.keyFlag})
        #set($keyPropertyName=${field.propertyName})
    #end
    #if("$!field.comment" != "")
    /**
     * ${field.comment}
     */
    #end
    @ApiModelProperty(name = "${field.propertyName}", value = "${field.comment}",             dataType = "${field.propertyType}")
    #if(${field.keyFlag})
    ## 主键
    @TableId(value = "${field.name}", type = IdType.UUID)
    #elseif(${field.fill})
    ## 普通字段
    ## -----   存在字段填充设置   -----
    @TableField(value = "${field.name}", fill = FieldFill.${field.fill})
    #elseif(${field.name}=="tenantId")
    @TableField(value = "${field.name}", exist=false)
    #elseif(${field.convert})
    @TableField("${field.name}")
    #end
    ## 乐观锁注解
    #if(${versionFieldName}==${field.name})
    @Version
    #end
    ## 逻辑删除注解
    #if(${logicDeleteFieldName}==${field.name})
    @TableLogic
    #end
    private ${field.propertyType} ${field.propertyName};
#end
## ----------  END 字段循环遍历  ----------

生成代码如图所示:

    /**
     * 角色ID
     */
    @ApiModelProperty(name = "roleId", value = "角色ID", dataType = "Long")
        @TableId(value = "ROLE_ID", type = IdType.UUID)
            private Long roleId;
    /**
     * 角色名称
     */
    @ApiModelProperty(name = "roleName", value = "角色名称", dataType = "String")
        @TableField("ROLE_NAME")
        private String roleName;
    /**
     * 角色描述
     */
    @ApiModelProperty(name = "remark", value = "角色描述", dataType = "String")
        @TableField("REMARK")
        private String remark;
    /**
     * 创建时间
     */
    @ApiModelProperty(name = "createTime", value = "创建时间", dataType = "LocalDateTime")
        @TableField("CREATE_TIME")
        private LocalDateTime createTime;
    /**
     * 修改时间
     */
    @ApiModelProperty(name = "modifyTime", value = "修改时间", dataType = "LocalDateTime")
        @TableField("MODIFY_TIME")
        private LocalDateTime modifyTime;

可见缩进格式完全混乱,不利于阅读。

原因是因为velocity把空格缩进原封输出到代码格式中,因此模板中的脚本命令需要顶格编写,虽然影响可读性,但能保证生成代码的格式,另外这个顶格编写的命令,是包括注释关键字在内的。

修改后的模板文件如下:

## ----------  BEGIN 字段循环遍历  ----------
#foreach($field in ${table.fields})
#if(${field.keyFlag})
#set($keyPropertyName=${field.propertyName})
#end
#if("$!field.comment" != "")
    /**
     * ${field.comment}
     */
#end
    @ApiModelProperty(name = "${field.propertyName}", value = "${field.comment}", dataType = "${field.propertyType}")
#if(${field.keyFlag})
## 主键
    @TableId(value = "${field.name}", type = IdType.UUID)
#elseif(${field.fill})
## 普通字段
## -----   存在字段填充设置   -----
    @TableField(value = "${field.name}", fill = FieldFill.${field.fill})
#elseif(${field.name}=="tenantId")
    @TableField(value = "${field.name}", exist=false)
#elseif(${field.convert})
    @TableField("${field.name}")
#end
## 乐观锁注解
#if(${versionFieldName}==${field.name})
    @Version
#end
## 逻辑删除注解
#if(${logicDeleteFieldName}==${field.name})
    @TableLogic
#end
    private ${field.propertyType} ${field.propertyName};
#end
## ----------  END 字段循环遍历  ----------

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值