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>