IDEA模板配置-EasyCode

Entity.java
##导入宏定义
$!{define.vm}
##保存文件(宏定义)
#save("/entity", ".java")
##包路径(宏定义)
#setPackageSuffix("entity")
##自动导入包(全局变量)
$!{autoImport.vm}
import java.io.Serializable;
import java.time.LocalDateTime;
import com.alibaba.fastjson.annotation.JSONField;
import com.alibaba.fastjson.serializer.ToStringSerializer;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.cottoneasy.imported.base.deserializer.StringToLongDeserializer;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiModel;
import lombok.Data;

/**
 * ${tableInfo.name} ${tableInfo.comment}
 *
 * @author hanfuye
 * @date  $!{time.currTime("yyyy/MM/dd")}
 */

@Data
@TableName("$!{tableInfo.obj.name}")
@ApiModel(value = "$!{tableInfo.name}Entity对象", description = "$!{tableInfo.comment}")
public class $!{tableInfo.name} 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)} == "Date")
    #set($column.type = "LocalDateTime")
    #elseif($!{tool.getClsNameByFullName($column.type)} == "Long")
    @JSONField(serializeUsing = ToStringSerializer.class)
    @JsonDeserialize(using = StringToLongDeserializer.class)
    #end
    #if($tableInfo.pkColumn.contains($column))
    @ApiModelProperty(value = "${column.comment}")
    @TableId("$tool.hump2Underline($!{column.name}).toUpperCase()")
    #else
    @ApiModelProperty(value = "${column.comment}")
    @TableField("$tool.hump2Underline($!{column.name}).toUpperCase()")
    #end
    private $!{tool.getClsNameByFullName($column.type)} $!{column.name};
  
#end
}
Mapper.java
##定义初始变量
#set($tableName = $tool.append($tableInfo.name, "Mapper"))
##设置回调
$!callback.setFileName($tool.append($tableName, ".java"))
$!callback.setSavePath($tool.append($tableInfo.savePath, "/mappers"))

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

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

import $!{tableInfo.savePackageName}.entity.$!{tableInfo.name};
import com.baomidou.mybatisplus.core.mapper.BaseMapper;

/**
 * $!{tableInfo.comment}($!{tableInfo.obj.name})表数据库访问层
 *
 * @author hanfuye
 * @date  $!{time.currTime("yyyy/MM/dd")}
 */
public interface $!{tableName} extends BaseMapper<$!{tableInfo.name}>{

}

Mapping.xml
##引入mybatis支持
$!{mybatisSupport.vm}

##设置保存名称与保存位置
$!callback.setFileName($tool.append($!{tableInfo.name}, "Mapping.xml"))
$!callback.setSavePath($tool.append($tableInfo.savePath, "/mappings"))

##拿到主键
#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}.mappers.$!{tableInfo.name}Mapper">

    <resultMap type="$!{tableInfo.savePackageName}.entity.$!{tableInfo.name}" id="$!{tableInfo.name}Map">
#foreach($column in $tableInfo.fullColumn)
        <result property="$!column.name" column="$!column.obj.name" jdbcType="$!column.ext.jdbcType"/>
#end
    </resultMap>

</mapper>