EasyCode 代码生成及使用及模板详细

1 、Easy Code代码生成

功能:根据数据库生成MVC层代码
在这里插入图片描述

1.1.1 连接数据库 可以选了ora 及mysql 我这里使用的mysql

在这里插入图片描述
ora连接方式 注意连接方式选择服务名在这里插入图片描述

1.1.2选择数据库 注意数据库的名字

在这里插入图片描述

使用Easy Code 生成代码
每个项目的工具包及类包不同部分需要手动导入
在这里插入图片描述

1.1.3生成代码示例:

需注意代码生成的路径

第2章Easycode脚本

2.1.1脚本配置修改

在这里插入图片描述

此处修改代码中 @author 取值

可根据自己代码编写习惯 调整脚本 (基于velocity(vm)语法)

根据编写的脚本,右上角有生成代码调试

2.1.2模板token

ebe8230c476333144367eb788e9256f2

第3章Easycode模板

根据个人习惯编写的脚本 欢迎吐槽交流

3.1.1Entity

##引入宏定义
$!define

##使用宏定义设置回调(保存位置与文件后缀)
#save("/entity", "DO.java")

##拿到主键
#if(!$tableInfo.pkColumn.isEmpty())
    #set($pkname = $tableInfo.pkColumn.get(0).obj.name)
#end

##使用宏定义设置包后缀
#setPackageSuffix("entity")

##使用全局变量实现默认包导入
$!autoImport
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
##使用宏定义实现类注释信息
#tableComment("实体类")
@TableName(value="$!{tableInfo.obj.name}")
@Data
public class $!{tableInfo.name}DO implements Serializable {
    private static  final long serialVersionUID = $!tool.serial();
#foreach($column in $tableInfo.fullColumn)
    #if(${column.comment})
/** * ${column.comment} */
#end
    #if($column.obj.name==$pkname)
     @TableId(value="$pkname",type=IdType.INPUT)    
    #end
    #if(${tool.getClsNameByFullName($column.type).contains('Date')})
      @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
      @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    #end
private $!{tool.getClsNameByFullName($column.type)} $!{column.name};
#end

## #foreach($column in $tableInfo.fullColumn)
##使用宏定义实现get,set方法
##  #getSetMethod($column)
## #end

}

3.1.2Dao

##定义初始变量
#set($tableName = $tool.append($tableInfo.name, "DAO"))
##设置回调
$!callback.setFileName($tool.append($tableName, ".java"))
$!callback.setSavePath($tool.append($tableInfo.savePath, "/dao"))

##拿到主键
#if(!$tableInfo.pkColumn.isEmpty())
    #set($pk = $tableInfo.pkColumn.get(0))
#end

#if($tableInfo.savePackageName)package $!{tableInfo.savePackageName}.#{end}dao;

import $!{tableInfo.savePackageName}.entity.$!{tableInfo.name}DTO;
import $!{tableInfo.savePackageName}.entity.$!{tableInfo.name}paramDTO;
import $!{tableInfo.savePackageName}.entity.$!{tableInfo.name}DO;
import cn.hsa.its.common.base.BaseDAO;
import java.util.List;

/**
 * $!{tableInfo.comment}($!{tableInfo.name})表数据库访问层
 *
 * @author $!author
 * @since $!time.currTime()
 */
public interface $!{tableName} extends BaseDAO<$!{tableInfo.name}DO>{

/**
    * 查询列表
     * @author $!author
     * @since $!time.currTime()
    * @param param 查询参数
    * @return 列表数据
    */
   List<$!{tableInfo.name}DTO> list$!{tableInfo.name}($!{tableInfo.name}ParamDTO param);

   /**
   * 查询详情
     * @author $!author
     * @since $!time.currTime()
   * @param param 查询参数
   * @return  详情
   */
   $!{tableInfo.name}DTO get$!{tableInfo.name}($!{tableInfo.name}ParamDTO param);

   /**
   * 删除
     * @author $!author
     * @since $!time.currTime()
   * @param主键ID
   * @return int 删除数量
   */
   Integer delete$!{tableInfo.name}(String id);
}

3.1.3Service


```java
##定义初始变量
#set($tableName = $tool.append($tableInfo.name, "Service"))
#set($DTO = $tool.append($tableInfo.name, "DTO"))
#set($ParamDTO = $tool.append($tableInfo.name, "ParamDTO"))
##设置回调
$!callback.setFileName($tool.append($tableName, ".java"))
$!callback.setSavePath($tool.append($tableInfo.savePath, "/service"))

##拿到主键
#if(!$tableInfo.pkColumn.isEmpty())
    #set($pk = $tableInfo.pkColumn.get(0))
#end

#if($tableInfo.savePackageName)package $!{tableInfo.savePackageName}.#{end}service;

import org.springframework.cloud.openfeign.FeignClient;
##import $!{tableInfo.savePackageName}.entity.$!{tableInfo.name};
import $!{tableInfo.savePackageName}.dto.$!{DTO};
import $!{tableInfo.savePackageName}.dto.$!{ParamDTO};
import java.util.List;
import cn.hsa.its.common.bean.PageResultData;
/**
 * $!{tableInfo.comment}($!{tableInfo.name})表服务接口
 *
 * @author $!author
 * @since $!time.currTime()
 */
  
@FeignClient(value = "hsa-cep-its")
public interface $!{tableName} {

   /**
   * 查询列表
    * @author $!author
    * @since $!time.currTime()
   * @param param 查询参数
   * @return  数据列表
   */
   @PostMapping("/its/api/$!{tableInfo.name}/list$!{tableInfo.name}")
   WrapperResponse<PageResultData<$!DTO>> list$!{tableInfo.name}($!ParamDTO param);

   /**
   * 查询详情
    * @author $!author
    * @since $!time.currTime()
   * @param param 查询详情
   * @return  详情
   */
   @PostMapping("/its/api/$!{tableInfo.name}/get$!{tableInfo.name}")
   WrapperResponse<$!DTO> get$!{tableInfo.name}($!ParamDTO param);


   /**
   * 保存列表
    * @author $!author
    * @since $!time.currTime()
   * @param param 保存参数
   * @return int 保存影响的数据行数
   */
   @PostMapping("/its/api/$!{tableInfo.name}/save$!{tableInfo.name}")
   WrapperResponse<Integer> save$!{tableInfo.name}($!ParamDTO param);
   
   
      /**
   * 删除数据
    * @author $!author
    * @since $!time.currTime()
   * @param param 删除数据参数
   * @return int 删除影响的数据行数
   */
    @PostMapping("/its/api/$!{tableInfo.name}/delete$!{tableInfo.name}")
   WrapperResponse<Integer> delete$!{tableInfo.name}($!ParamDTO param);
}

# 3.1.4ServiceImpl

```java

```java
##定义初始变量
#set($tableName = $tool.append($tableInfo.name, "ServiceImpl"))
##设置回调
$!callback.setFileName($tool.append($tableName, ".java"))
$!callback.setSavePath($tool.append($tableInfo.savePath, "/service/impl"))

##拿到主键
#if(!$tableInfo.pkColumn.isEmpty())
    #set($pk = $tableInfo.pkColumn.get(0))
#end
##拿到主键名
#if(!$tableInfo.pkColumn.isEmpty())
    #set($pkname = $tableInfo.pkColumn.get(0).name)
#end
#if($tableInfo.savePackageName)package $!{tableInfo.savePackageName}.#{end}service.impl;

import org.springframework.stereotype.Service;
import cn.hsa.its.common.bean.PageResultData;
import javax.annotation.Resource;
import java.util.List;

/**
 * $!{tableInfo.comment}($!{tableInfo.name})表服务实现类
 *
 * @author $!author
 * @date $!time.currTime()
 */


@HsafRestPath("/api/its/$!tool.firstLowerCase($!{tableInfo.name})")
@Service("$!tool.firstLowerCase($!{tableInfo.name})Service")
public class $!{tableName} implements $!{tableInfo.name}Service {

    @Resource
    private $!{tableInfo.name}BO  $!tool.firstLowerCase($!{tableInfo.name})Bo;

    /**
     * Description 查询列表
    * @author $!author
     * @since $!time.currTime()
     * @param param 查询参数
     * @return 查询列表
    */
    @HsafRestPath("/list$!{tableInfo.name}")
    @Override
    public WrapperResponse<PageResultData<$!{tableInfo.name}DTO>> list$!{tableInfo.name}($!{tableInfo.name}ParamDTO param){
        //查询列表
        PageResultData<$!{tableInfo.name}DTO> res=$!{tool.firstLowerCase($!{tableInfo.name})}Bo.list$!{tableInfo.name}(param);
        return WrapperResponse.success("查询列表成功",res);
    }
    
    /**
     * Description 查询详情
      * @author $!author
     * @since $!time.currTime()
     * @param  param 查询参数
     * @return 查询参数
    */
    @HsafRestPath("/get$!{tableInfo.name}")
    @Override
    public WrapperResponse<$!{tableInfo.name}DTO> get$!{tableInfo.name}($!{tableInfo.name}ParamDTO param){
        //查询综合柜员黑白名单类型详情
        $!{tableInfo.name}DTO res=$!{tool.firstLowerCase($!{tableInfo.name})}Bo.get$!{tableInfo.name}(param);
        return WrapperResponse.success("查询综合柜员黑白名单类型详情成功",res);
    }
    
    /**
     * Description 保存数据
      * @author $!author
     * @since $!time.currTime()
     * @param   param 待保存参数
     * @return Integer 保存成功标志
    */
    @HsafRestPath("/save$!{tableInfo.name}")
    @Override
    public WrapperResponse<Integer> save$!{tableInfo.name}($!{tableInfo.name}ParamDTO param){
        //保存
        int res = $!{tool.firstLowerCase($!{tableInfo.name})}Bo.save$!{tableInfo.name}(param);
        return WrapperResponse.success("保存综合柜员黑白名单类型成功",res);
    }

    /**
     * Description 删除
      * @author $!author
     * @since $!time.currTime()
     * @param param 删除参数
     * @return Integer 删除影响的数据行数
    */
    @HsafRestPath("/delete$!{tableInfo.name}")
    @Override
    public WrapperResponse<Integer> delete$!{tableInfo.name}($!{tableInfo.name}ParamDTO param){
        //入参检查
        if(null==param){
            return WrapperResponse.success("删除失约名单类型数据,必须指定相关参数",0);
        }
        String $!{pkname} = param.get$!{tool.firstUpperCase($!{pkname})}();
        //删除黑白名单类型
        Integer res =$!{tool.firstLowerCase($!{tableInfo.name})}Bo.delete$!{tableInfo.name}($!{pkname});
        return WrapperResponse.success("删除成功",res);
    }

# 3.1.5Controller

```java
##定义初始变量
#set($tableName = $tool.append($tableInfo.name, "Controller"))
##设置回调
$!callback.setFileName($tool.append($tableName, ".java"))
$!callback.setSavePath($tool.append($tableInfo.savePath, "/controller"))
##拿到主键
#if(!$tableInfo.pkColumn.isEmpty())
    #set($pk = $tableInfo.pkColumn.get(0))
#end

#if($tableInfo.savePackageName)package $!{tableInfo.savePackageName}.#{end}controller;

import cn.hsa.hsaf.core.framework.web.WrapperResponse;
import $!{tableInfo.savePackageName}.entity.$!{tableInfo.name}DO;
import $!{tableInfo.savePackageName}.dto.$!{tableInfo.name}DTO;
import $!{tableInfo.savePackageName}.dto.$!{tableInfo.name}ParamDTO;
import $!{tableInfo.savePackageName}.service.$!{tableInfo.name}Service;
import org.springframework.web.bind.annotation.*;
import cn.hsa.its.common.bean.PageResultData;
import javax.annotation.Resource;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;

/**
 * $!{tableInfo.comment}($!{tableInfo.name})表控制层
 *
 * @author $!author
 * @date $!time.currTime()
 */

@RestController
@RequestMapping("/web/its/$!tool.firstLowerCase($tableInfo.name)")
@Slf4j
@Api(tags = {"$!{tableInfo.comment}($!{tableInfo.name})表控制层"})
public class $!{tableName} {
    /**
     * 服务对象
     */
    @Resource
    private $!{tableInfo.name}Service $!tool.firstLowerCase($tableInfo.name)Service;
    
    
  /**
   * 查询列表
   * @author $!author
    * @date $!time.currTime()
   * @param param 查询参数
   * @return 查询列表
   */
   @PostMapping("/list$tableInfo.name")
    @ApiOperation("查询列表")
   public WrapperResponse<PageResultData<${tableInfo.name}DTO>> list${tableInfo.name} (@RequestBody ${tableInfo.name}ParamDTO} param){
        //查询列表
        return $!{tool.firstLowerCase($tableInfo.name)}Service.list${tableInfo.name}(param);
    }

       /**
   * 查询详情
   * @author $!author
    * @date $!time.currTime()
   * @param param 查询参数
   * @return 查询详情
   */
   @PostMapping("/get${tableInfo.name}")
    @ApiOperation("获取详情")
   public WrapperResponse<${tableInfo.name}DTO> get${tableInfo.name} (@RequestBody ${tableInfo.name}ParamDTO param){
        //查询详情
        return $!{tool.firstLowerCase($tableInfo.name)}Service.get${tableInfo.name} (param);
    }
  
  
  /**
   * 保存信息
   * @author $!author
    * @date $!time.currTime()
   * @param param 保存参数
   * @return int 保存数量
   */
   @PostMapping("/save${tableInfo.name}")
    @ApiOperation("保存信息")
   public WrapperResponse<Integer> save${tableInfo.name}(@RequestBody ${tableInfo.name}ParamDTO param){
        //保存信息
        return $!{tool.firstLowerCase($tableInfo.name)}Service.save${tableInfo.name}(param);
    }
    
    
        /**
     * 删除信息
   * @author $!author
    * @date $!time.currTime()
   * @param param 删除信息
   * @return int 删除信息数量
     */
    @PostMapping("/delete${tableInfo.name}")
    @ApiOperation("删除信息")
    public WrapperResponse<Integer> delete${tableInfo.name}(@RequestBody ${tableInfo.name}ParamDTO param){
        //删除信息
        return $!{tool.firstLowerCase($tableInfo.name)}Service.delete${tableInfo.name}(param);
    }
}

3.1.6Mapper

##引入mybatis支持
$!mybatisSupport

##设置保存名称与保存位置
$!callback.setFileName($tool.append($!{tableInfo.name}, "Dao.xml"))
$!callback.setSavePath($tool.append($modulePath, "/src/main/resources/mapper"))

##拿到主键
#if(!$tableInfo.pkColumn.isEmpty())
    #set($pk = $tableInfo.pkColumn.get(0))
#end

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="$!{tableInfo.savePackageName}.dao.$!{tableInfo.name}Dao">
    <!--查询列表数据-->
    <select id="get$!{tableInfo.obj.name}" parameterType="$!{tableInfo.savePackageName}.dto.$!{tableInfo.name}ParamDTO" resultType="$!{tableInfo.savePackageName}.dto.$!{tableInfo.name}DTO">
        select   #allSqlColumn()
         from $!tableInfo.obj.name 
        <where>
#foreach($column in $tableInfo.otherColumn)
            <if test="$!column.name != null#if($column.type.equals("java.lang.String")) and $!column.name != ''#end">
                $!column.obj.name = #{$!column.name},
            </if>
#end
        </where>
    </select>

    <!--查询单个数据-->
    <select id="get$!{tableInfo.obj.name}" parameterType="$!{tableInfo.savePackageName}.dto.$!{tableInfo.name}ParamDTO" resultType="$!{tableInfo.savePackageName}.dto.$!{tableInfo.name}DTO">
    select   #allSqlColumn()     
    from $!tableInfo.obj.name 
        where $!pk.obj.name = #{$!pk.name}
       and  vali_flag = '1'
    </select>

    
      <!--通过主键逻辑删除-->
   <update id="delete$!{tableInfo.name}" parameterType="String">
      update $!{tableInfo.obj.name} set
         vali_flag = '0'
   where $!pk.obj.name = #{$!pk.name}
   </update>

</mapper>

3.1.7BO

##定义初始变量
#set($tableName = $tool.append($tableInfo.name, "BO"))
#set($DTO = $tool.append($tableInfo.name, "DTO"))
#set($ParamDTO = $tool.append($tableInfo.name, "ParamDTO"))
##设置回调
$!callback.setFileName($tool.append($tableName, ".java"))
$!callback.setSavePath($tool.append($tableInfo.savePath, "/bo"))

##拿到主键
#if(!$tableInfo.pkColumn.isEmpty())
    #set($pk = $tableInfo.pkColumn.get(0))
#end
##拿到主键名
#if(!$tableInfo.pkColumn.isEmpty())
    #set($pkname = $tableInfo.pkColumn.get(0).name)
#end

#if($tableInfo.savePackageName)package $!{tableInfo.savePackageName}.#{end}service;

import org.springframework.cloud.openfeign.FeignClient;

import $!{tableInfo.savePackageName}.dto.$!{DTO};
import $!{tableInfo.savePackageName}.dto.$!{ParamDTO};


/**
 * $!{tableInfo.comment}($!{tableInfo.name})表BO
 *
 * @author $!author
 * @date $!time.currTime()
 */
  
public interface $!{tableName} {
/**
    * 取得主键ID
     * @author $!author
     * @date $!time.currTime()
    * @return String  主键ID
    */
   String getKeyId();

   /**
    * 取得行ID
     * @author $!author
     * @date $!time.currTime()
    * @return String 行ID
    */
   String getRowId();

   /**
   * 查询列表
    * @author $!author
    * @date $!time.currTime()
   * @param param 查询参数
   * @return 列表数据
   */
   PageResultData<$!{tableInfo.name}DTO> list$!{tableInfo.name}($!{tableInfo.name}ParamDTO param);

   /**
   * 查询详情
    * @author $!author
    * @date $!time.currTime()
   * @param param 查询参数
   * @return 详情
   */
   $!{tableInfo.name}DTO get$!{tableInfo.name}($!{tableInfo.name}ParamDTO param);

   /**
   * 保存信息
    * @author $!author
    * @date $!time.currTime()
   * @param  param 查询参数
   * @return int 保存信息记录数
   */
   int save$!{tableInfo.name}($!{tableInfo.name}ParamDTO param);

   /**
    * 删除
    * @author $!author
    * @date $!time.currTime()
    * @param   $!{pkname} 主键ID
    * @return Integer 删除数量
    */
   Integer delete$!{tableInfo.name}(String $!{pkname});


}

3.1.8BOImpl

##定义初始变量
#set($tableName = $tool.append($tableInfo.name, "BOImpl"))
##设置回调
$!callback.setFileName($tool.append($tableName, ".java"))
$!callback.setSavePath($tool.append($tableInfo.savePath, "/bo/impl"))

##拿到主键
#if(!$tableInfo.pkColumn.isEmpty())
    #set($pk = $tableInfo.pkColumn.get(0))
#end
##拿到主键名
#if(!$tableInfo.pkColumn.isEmpty())
    #set($pkname = $tableInfo.pkColumn.get(0).name)
#end
#if($tableInfo.savePackageName)package $!{tableInfo.savePackageName}.#{end}bo.impl;


import $!{tableInfo.savePackageName}.dao.$!{tableInfo.name}Dao;
import org.springframework.stereotype.Service;
import cn.hsa.its.common.util.DataHelper;
import cn.hsa.its.common.bean.PageResultData;
import cn.hsa.its.common.service.SequenceService;
import cn.hsa.its.common.util.PowerBeanHelper;

import javax.annotation.Resource;
import java.util.List;

/**
 * $!{tableInfo.comment}($!{tableInfo.name})表BO实现类
 *
 * @author $!author
 * @date $!time.currTime()
 */

@Component
public class $!{tableName} extends BaseBO implements $!{tableInfo.name}BO {

   @Resource
   private    $!{tableInfo.name}DAO $!tool.firstLowerCase($!{tableInfo.name})Dao;

   /** 获取序列符*/
   @Resource
   private SequenceService sequenceService;

   /**
    * 取得主键ID
     * @author $!author
     * @date $!time.currTime()
    * @return String  主键ID
    */
   @Override
   public String getKeyId(){
      //取得主键ID
      if(null==sequenceService){
         return null;
      }
      //取得主键ID
      return sequenceService.getIncrementId($!{tableInfo.name}DTO.KEY_ID);
   }

   /**
    * 取得行ID
     * @author $!author
     * @date $!time.currTime()
    * @return String 行ID
    */
   @Override
   public String getRowId(){
      //取得行ID
      if(null==sequenceService){
         return null;
      }
      return sequenceService.getRowId();
   }

    /**
   * 查询列表
     * @author $!author
     * @date $!time.currTime()
   * @param param 查询参数
   * @return 查询列表
   */
   @Override
   public PageResultData<$!{tableInfo.name}DTO> list$!{tableInfo.name}($!{tableInfo.name}ParamDTO param){
      //启动分页
      Integer iPageNum = param.getPageNum();
      Integer iPageSize = param.getPageSize();
      if(null!=iPageNum && null!=iPageSize && iPageSize>0) {
         PageHelper.startPage(param.getPageNum(), param.getPageSize());
      }
      List<$!{tableInfo.name}DTO> lst = $!{tool.firstLowerCase($!{tableInfo.name})}Dao.list$!{tableInfo.name}(param);
      return PageResultData.trans(lst);
   }

   /**
   * 查询详情
     * @author $!author
     * @date $!time.currTime()
   * @param param 查询参数
   * @return  详情
   */
   @Override
   public $!{tableInfo.name}DTO get$!{tableInfo.name}($!{tableInfo.name}ParamDTO param){
      //查询详情
      return $!{tool.firstLowerCase($!{tableInfo.name})}Dao.get$!{tableInfo.name}(param);
   }

   /**
   * 保存
     * @author $!author
     * @date $!time.currTime()
   * @param  param 保存参数
   * @return int 保存数量
   */
   @Override
   public int save$!{tableInfo.name}($!{tableInfo.name}ParamDTO param){
      //入参检查
      if(null==param){
         return 0;
      }
      boolean bInsert = false;
      String ID = param.get$!{tool.firstUpperCase($!{pkname})}();
      //主键为空获取做新增 不为空则更新
      if(DataHelper.isBlank(ID)){
         ID  = getKeyId();
         bInsert = true;
       param.set$!{tool.firstUpperCase($!{pkname})}(ID);
      }
      //设置经办人等信息
      DataHelper.setCurrentUser(param,bInsert);
       $!{tableInfo.name}DO $!tool.firstLowerCase($!{tableInfo.name})Do = new $!{tableInfo.name}DO();
      PowerBeanHelper.convertToBean(param, $!tool.firstLowerCase($!{tableInfo.name})Do);
##    //参数校验是否为空
##    PowerApiVerify.verifyApiModelProperty("保存数据字段不能为空",blackList,bInsert,
##          "bwlstTypeId,bwlstTypeName,volaCnt,empFlag");
      //新增或修改
      if(bInsert) {
         $!{tool.firstLowerCase($!{tableInfo.name})}Dao.insert($!tool.firstLowerCase($!{tableInfo.name})Do);
      }else{
         $!{tool.firstLowerCase($!{tableInfo.name})}Dao.updateById($!tool.firstLowerCase($!{tableInfo.name})Do);
      }
      return 1;
   }

   /**
   * 删除
     * @author $!author
     * @date $!time.currTime()
   * @param   id 主键ID
   * @return Integer 删除
   */
   @Override
   public Integer delete$!{tableInfo.name}(String id){
      //入参检查
      if(DataHelper.isBlank(id)){
         return 0;
      }
      //根据ID删除
      $!{tool.firstLowerCase($!{tableInfo.name})}Dao.delete$!{tableInfo.name}(id);
      return 1;
   }

}

3.1.9DTO

##引入宏定义
$!define

##使用宏定义设置回调(保存位置与文件后缀)
#save("/dto","DTO.java")

##使用宏定义设置包后缀
#setPackageSuffix("dto")

##拿到主键
#if(!$tableInfo.pkColumn.isEmpty())
    #set($pkname = $tableInfo.pkColumn.get(0).obj.name)
#end
##使用全局变量实现默认包导入
$!autoImport
import java.io.Serializable;
import cn.hsa.its.common.base.BaseDTO;
##import cn.hsa.ais.common.bean.BaseDTO;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
##使用宏定义实现类注释信息

#tableComment("实体类")
@Data
public class $!{tableInfo.name}DTO  extends BaseDTO implements Serializable {
    private static final long serialVersionUID = $!tool.serial();
    public static  final String KEY_ID="HSA:$!{tableInfo.obj.parent.name.toUpperCase()}:$!{tableInfo.obj.name.toUpperCase()}:$!{pkname}";
#foreach($column in $tableInfo.fullColumn)
    #if(${column.comment})
/** * ${column.comment} */
#end
    #if(${tool.getClsNameByFullName($column.type).contains('Date')})
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    #end
@ApiModelProperty(" ${column.comment}")
    private $!{tool.getClsNameByFullName($column.type)} $!{column.name};
#end


}

3.1.10DTOParam
##引入宏定义
$!define

##使用宏定义设置回调(保存位置与文件后缀)
#save("/dto","ParamDTO.java")

##使用宏定义设置包后缀
#setPackageSuffix("dto")

##使用全局变量实现默认包导入
$!autoImport
import java.io.Serializable;
import cn.hsa.its.common.base.BaseDTO;
##import cn.hsa.ais.common.bean.BaseDTO;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
##使用宏定义实现类注释信息

#tableComment("实体类")
@Data
public class $!{tableInfo.name}ParamDTO  extends BaseDTO implements Serializable {
    private static final long serialVersionUID = $!tool.serial();
#foreach($column in $tableInfo.fullColumn)
    #if(${column.comment})
/** * ${column.comment} */
#end
    #if(${tool.getClsNameByFullName($column.type).contains('Date')})
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    #end
@ApiModelProperty(" ${column.comment}")
    private $!{tool.getClsNameByFullName($column.type)} $!{column.name};
#end


}

第4章附件

4.1.1说明文档:

属性
$author 设置中的作者 java.lang.String
$modulePath 选中的module路径 java.lang.String
$projectPath 项目绝对路径 java.lang.String

对象
$tableInfo 表对象
    obj 表原始对象 com.intellij.database.model.DasTable
    name 表名(转换后的首字母大写)java.lang.String
    comment 表注释 java.lang.String
    fullColumn 所有列 java.util.List<ColumnInfo>
    pkColumn 主键列 java.util.List<ColumnInfo>
    otherColumn 其他列 java.util.List<ColumnInfo>,除主键以外的列
    savePackageName 保存的包名 java.lang.String
    savePath 保存路径 java.lang.String
    saveModelName 保存的model名称 java.lang.String
columnInfo 列对象
    obj 列原始对象 com.intellij.database.model.DasColumn
    name 列名(首字母小写) java.lang.String
    comment 列注释 java.lang.String
    type 列类型(类型全名) java.lang.String
    shortType 列类型(短类型) java.lang.String
    custom 是否附加列 java.lang.Boolean
    ext 附加字段(Map类型) java.lang.Map<java.lang.String, java.lang.Object>
$tableInfoList java.util.List<TableInfo>所有选中的表
$importList 所有需要导入的包集合 java.util.Set<java.lang.String>

回调
&callback 回调对象
    setFileName(String) 设置文件储存名字
    setSavePath(String) 设置文件储存路径,默认使用选中路径
    setReformat(Boolean) 设置是否重新格式化生成后的代码,默认为true

工具
$tool
    firstUpperCase(String name) 首字母大写方法
    firstLowerCase(String name) 首字母小写方法
    getClsNameByFullName(String fullName) 通过包全名获取类名
    getJavaName(String name) 将下划线分割字符串转驼峰命名(属性名)
    getClassName(String name) 将下划线分割字符串转驼峰命名(类名)
    hump2Underline(String str) 将驼峰字符串转下划线字符串
    append(Object... objs) 多个数据进行拼接
    newHashSet(Object... objs) 创建一个HashSet对象
    newArrayList(Object... objs) 创建一个ArrayList对象
    newLinkedHashMap() 创建一个LinkedHashMap()对象
    newHashMap() 创建一个HashMap()对象
    getField(Object obj, String fieldName) 获取对象的属性值,可以访问任意修饰符修饰的属性.配合debug方法使用.
    call(Object... objs) 空白执行方法,用于调用某些方法时消除返回值
    debug(Object obj) 调式方法,用于查询对象结构.可查看对象所有属性与public方法
    serial() 随机获取序列化的UID
    service(String serviceName, Object... param)远程服务调用
    parseJson(String) 将字符串转Map对象
    toJson(Object, Boolean) 将对象转json对象,Boolean:是否格式化json,不填时为不格式化。
    toUnicode(String, Boolean) 将String转换为unicode形式,Boolean:是否转换所有符号,不填时只转换中文及中文符号。
$time
    currTime(String format) 获取当前时间,指定时间格式(默认:yyyy-MM-dd HH:mm:ss)
$generateService
    run(String, Map<String,Object>) 代码生成服务,参数1:模板名称,参数2:附加参数。
$dasUtil Database提供的工具类,具体可方法请查看源码,适用于高端玩家
$dbUtil  Database提供的工具类,具体可方法请查看源码,适用于高端玩家
  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值