文章目录
- entity
- mapper.java
- mapper.xml
- service
- serviceImpl
- controller
这篇文章不教你如何安装和使用EasyCode,只是贴出可以使用的配置。
具体EasyCode的使用可以查看其它的文章。
entity
##导入宏定义
$!{define.vm}##保存文件(宏定义)
#save("/entity", ".java")##包路径(宏定义)
#setPackageSuffix("entity")##自动导入包(全局变量)
$!{autoImport.vm}import java.io.Serializable;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
##表注释(宏定义)
#tableComment("表实体类")@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("$!{tableInfo.obj.name}")
public class $!{tableInfo.name} {
#foreach($column in $tableInfo.pkColumn)#if(${column.comment})//${column.comment}#end
@TableIdprivate $!{tool.getClsNameByFullName($column.type)} $!{column.name};
#end#foreach($column in $tableInfo.otherColumn)#if(${column.comment})//${column.comment}#endprivate $!{tool.getClsNameByFullName($column.type)} $!{column.name};
#end}
mapper.java
##导入宏定义
$!{define.vm}##设置表后缀(宏定义)
#setTableSuffix("Mapper")##保存文件(宏定义)
#save("/mapper", "Mapper.java")
##包路径(宏定义)
#setPackageSuffix("mapper")import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;##表注释(宏定义)
#tableComment("表数据库访问层")
@Mapper
public interface $!{tableName} extends BaseMapper<$!tableInfo.name> {}
mapper.xml
##引入mybatis支持
$!mybatisSupport##设置保存名称与保存位置
$!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"><!-- 结果集 --><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><!-- 基本字段 --><sql id="Base_Column_List">#allSqlColumn()</sql></mapper>
service
##导入宏定义
$!{define.vm}##设置表后缀(宏定义)
#setTableSuffix("Service")##保存文件(宏定义)
#save("/service", "Service.java")##包路径(宏定义)
#setPackageSuffix("service")import com.baomidou.mybatisplus.extension.service.IService;##表注释(宏定义)
#tableComment("表服务接口")
public interface $!{tableName} extends IService<$!tableInfo.name> {}
serviceImpl
##导入宏定义
$!{define.vm}##设置表后缀(宏定义)
#setTableSuffix("ServiceImpl")##保存文件(宏定义)
#save("/service/Impl", "ServiceImpl.java")##包路径(宏定义)
#setPackageSuffix("service.Impl")import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import lombok.extern.slf4j.Slf4j;
##表注释(宏定义)
#tableComment("表服务实现类")
@Service("$!tool.firstLowerCase($tableInfo.name)Service")
@Slf4j
public class $!{tableName} extends ServiceImpl<$!{tableInfo.name}Mapper, $!{tableInfo.name}> implements $!{tableInfo.name}Service {}
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 $!{tableInfo.savePackageName}.entity.$!tableInfo.name;
import $!{tableInfo.savePackageName}.service.$!{tableInfo.name}Service;import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;import java.util.List;##表注释(宏定义)
#tableComment("表控制层[不建议修改,如果有新增的方法,写在子类中]")
public class $!{tableName} {/*** 服务对象*/@Autowired$!{tableInfo.name}Service $!{serviceName}; /*** 分页查询所有数据** @return 所有数据*/@GetMappingpublic Object selectList() {return null;}/*** 通过主键查询单条数据** @param id 主键* @return 单条数据*/@GetMapping("/{id}")public Object selectOne(@PathVariable Long id) {return null;}/*** 新增数据** @param $!entityName 实体对象* @return 新增结果*/@PostMappingpublic Object insert(@RequestBody $!tableInfo.name $!entityName) {return null;}/*** 修改数据** @param $!entityName 实体对象* @return 修改结果*/@PutMappingpublic Object update(@RequestBody $!tableInfo.name $!entityName) {return null;}/*** 单条/批量删除数据** @param idList 主键集合* @return 删除结果*/@DeleteMappingpublic Object delete(@RequestParam("idList") List<Long> idList) {return null;}
}