该模板的ORM框架使用的是MybatisPlus,以下配置均是围绕MybatisPlus进行配置
控制器层(Controller)模板
##导入宏定义
$!{define.vm}
##设置表后缀(宏定义)
#setTableSuffix("Controller")
##保存文件(宏定义)
#save("/controller", "Controller.java")
##包路径(宏定义)
#setPackageSuffix("controller")
##定义服务名
#set($serviceName = $!tool.append($!tool.firstLowerCase($!tableInfo.name), "Service"))
##定义实体对象名
#set($entityName = $!tool.firstLowerCase($!tableInfo.name))
import org.springframework.web.bind.annotation.*;
##表注释(宏定义)
#tableComment("表控制层")
@RestController
@RequestMapping("$!tool.firstLowerCase($!tableInfo.name)")
public class $!{tableName}{
}
数据接口层(Mapper)模板
##导入宏定义
$!{define.vm}
##设置表后缀(宏定义)
#setTableSuffix("mapper")
##保存文件(宏定义)
#save("/mapper", "Mapper.java")
##包路径(宏定义)
#setPackageSuffix("mapper")
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import $!{tableInfo.savePackageName}.entity.$!{tableInfo.name}Entity;
##表注释(宏定义)
#tableComment("表数据库访问层")
@Mapper
public interface $!{tableInfo.name}Mapper extends BaseMapper<$!{tableInfo.name}Entity> {
}
实体类(Entity)模板 需要注意的是创建时间和更新时间等日期时间类的包 需要在EasyCode中自定义Java与DB的类型映射关系 (用Date就导入Date包,用LocalDate就导入LocalDate包)
##导入宏定义
$!{define.vm}
##保存文件(宏定义)
#save("/entity", "Entity.java")
##包路径(宏定义)
#setPackageSuffix("entity")
##自动导入包(全局变量)
$!autoImport
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
##表注释(宏定义)
#tableComment("表实体类")
@Data
@TableName(value = "$!tableInfo.obj.name")
public class $!{tableInfo.name}Entity implements Serializable {
#foreach($column in $tableInfo.pkColumn)
@ApiModelProperty("${column.comment}")
@TableId(value = "$!{column.obj.name}" , type = IdType.AUTO)
private $!{tool.getClsNameByFullName($column.type)} $!{column.name};
#end
#foreach($column in $tableInfo.otherColumn)
@ApiModelProperty("${column.comment}")
#if(!($column.name.equals('deleted')||$column.name.equals('updateTime')||$column.name.equals('createTime')))@TableField(value = "$!{column.obj.name}")#end
#if($column.name.equals('createTime'))
@TableField(value = "$!{column.obj.name}" , fill = FieldFill.INSERT)#end
#if($column.name.equals('updateTime'))
@TableField(value = "$!{column.obj.name}" , fill = FieldFill.INSERT_UPDATE)#end
#if($column.name.equals('deleted'))@TableLogic
#end
private $!{tool.getClsNameByFullName($column.type)} $!{column.name};
#end
}
数据资源层(Mapper.xml)模板
##引入mybatis支持
$!{mybatisSupport.vm}
##设置保存名称与保存位置
$!callback.setFileName($tool.append($!{tableInfo.name}, "Mapper.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}.mapper.$!{tableInfo.name}Mapper">
</mapper>
业务层(Service)模板
##导入宏定义
$!{define.vm}
##设置表后缀(宏定义)
#setTableSuffix("Service")
##保存文件(宏定义)
#save("/service", "Service.java")
##包路径(宏定义)
#setPackageSuffix("service")
import com.baomidou.mybatisplus.extension.service.IService;
import $!{tableInfo.savePackageName}.entity.$!{tableInfo.name}Entity;
##表注释(宏定义)
#tableComment("表服务接口")
public interface $!{tableName} extends IService<$!{tableInfo.name}Entity> {
}
业务实现层(ServiceImpl)模板
##导入宏定义
$!{define.vm}
##设置表后缀(宏定义)
#setTableSuffix("ServiceImpl")
##保存文件(宏定义)
#save("/service/impl", "ServiceImpl.java")
##包路径(宏定义)
#setPackageSuffix("service.impl")
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import $!{tableInfo.savePackageName}.mapper.$!{tableInfo.name}Mapper;
import $!{tableInfo.savePackageName}.entity.$!{tableInfo.name}Entity;
import $!{tableInfo.savePackageName}.service.$!{tableInfo.name}Service;
import org.springframework.stereotype.Service;
##表注释(宏定义)
#tableComment("表服务实现类")
@Service("$!tool.firstLowerCase($tableInfo.name)Service")
public class $!{tableName} extends ServiceImpl<$!{tableInfo.name}Mapper, $!{tableInfo.name}Entity> implements $!{tableInfo.name}Service {
}
DTO模板
##导入宏定义
$!{define.vm}
##保存文件(宏定义)
#save("/dto", "DTO.java")
##包路径(宏定义)
#setPackageSuffix("dto")
##自动导入包(全局变量)
$!autoImport
import lombok.Data;
import java.io.Serializable;
##表注释(宏定义)
#tableComment("DTO")
@Data
public class $!{tableInfo.name}DTO implements Serializable {
}
VO模板
##导入宏定义
$!{define.vm}
##保存文件(宏定义)
#save("/vo", "VO.java")
##包路径(宏定义)
#setPackageSuffix("vo")
##自动导入包(全局变量)
$!autoImport
import lombok.Data;
import java.io.Serializable;
##表注释(宏定义)
#tableComment("VO")
@Data
public class $!{tableInfo.name}VO implements Serializable {
}