EasyCode template file

When MyBatis reports an error, remember to add the startup class

@MapperScan("com.example.mapper")

MybatisPlus + Swagger + Lombok

controller

##Import macro definition
$!{<!-- -->define.vm}

##Set table suffix (macro definition)
#setTableSuffix("Controller")

##Save file (macro definition)
#save("/controller", "Controller.java")

##Package path (macro definition)
#setPackageSuffix("controller")

##Define service name
#set($serviceName = $!tool.append($!tool.firstLowerCase($!tableInfo.name), "Service"))

##Define entity object name
#set($entityName = $!tool.firstLowerCase($!tableInfo.name))

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.api.ApiController;
import com.baomidou.mybatisplus.extension.api.R;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import $!{<!-- -->tableInfo.savePackageName}.entity.$!{<!-- -->tableInfo.name}Entity;
import $!{<!-- -->tableInfo.savePackageName}.service.$!{<!-- -->tableInfo.name}Service;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import java.io.Serializable;
import java.util.List;
import io.swagger.annotations.*;

##Table comments (macro definition)
##tableComment("")
@Api(tags = "$!{tableInfo.comment} $!{tableInfo.name} control layer")
@RestController
@RequestMapping("$!tool.firstLowerCase($!tableInfo.name)")
public class $!{<!-- -->tableName} extends ApiController{<!-- -->

    @Resource
    private $!{<!-- -->tableInfo.name}Service $!{<!-- -->serviceName};

    /**
     * Query all data in paging
     *
     * @param page paging object
     * @param $!{entityName}Entity query entity
     * @return all data
     */
    @GetMapping("page")
    @ApiOperation(value = "Query all data in pages")
    public R selectAll(Page<$!{<!-- -->tableInfo.name}Entity> page, $!{<!-- -->tableInfo.name}Entity $!{<!-- -->entityName }Entity) {<!-- -->
        return success(this.$!{<!-- -->serviceName}.page(page, new QueryWrapper<>($!{<!-- -->entityName}Entity)));
    }

    /**
     * Query a single piece of data by primary key
     *
     * @param id primary key
     * @return single piece of data
     */
    @GetMapping("id/{id}")
    @ApiOperation(value = "Query a single piece of data by primary key")
    public R selectOne(@PathVariable Serializable id) {<!-- -->
        return success(this.$!{<!-- -->serviceName}.getById(id));
    }

    /**
     * New data
     *
     * @param $!{entityName}Entity entity object
     * @return new results
     */
    @PostMapping("add")
    @ApiOperation(value = "New data")
    public R insert(@RequestBody $!{<!-- -->tableInfo.name}Entity $!{<!-- -->entityName}Entity) {<!-- -->
        return success(this.$!{<!-- -->serviceName}.save($!{<!-- -->entityName}Entity));
    }

    /**
     * change the data
     *
     * @param $!{entityName}Entity entity object
     * @return modified result
     */
    @PutMapping("upd")
    @ApiOperation(value = "Modify data")
    public R update(@RequestBody $!{<!-- -->tableInfo.name}Entity $!{<!-- -->entityName}Entity) {<!-- -->
        return success(this.$!{<!-- -->serviceName}.updateById($!{<!-- -->entityName}Entity));
    }

    /**
     * delete data
     *
     * @param idList primary key combination
     * @return delete result
     */
    @DeleteMapping("del")
    @ApiOperation(value = "Delete data")
    public R delete(@RequestParam("idList") List<Long> idList) {<!-- -->
        return success(this.$!{<!-- -->serviceName}.removeByIds(idList));
    }
    
}

dao

##Import macro definition
$!{<!-- -->define.vm}

##Set table suffix (macro definition)
#setTableSuffix("Dao")

##Save file (macro definition)
#save("/dao", "Dao.java")

##Package path (macro definition)
#setPackageSuffix("dao")

##Automatically import packages (global variables)
$!{<!-- -->autoImport.vm}
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import $!{<!-- -->tableInfo.savePackageName}.entity.$!{<!-- -->tableInfo.name}Entity;
import org.apache.ibatis.annotations.Mapper;
##Table comments (macro definition)
##tableComment("Table database access layer")
@Mapper
public interface $!{<!-- -->tableName} extends BaseMapper<$!{<!-- -->tableInfo.name}Entity> {<!-- -->
}

entity

##Import macro definition
$!{<!-- -->define.vm}

##Set table suffix (macro definition)
#setTableSuffix("Entity")

##Save file (macro definition)
#save("/entity", "Entity.java")

##Package path (macro definition)
#setPackageSuffix("entity")

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.*;
import java.util.*;

@ApiModel("$!{tableInfo.obj.name} class")
@TableName("$!{tableInfo.obj.name}")
@Data
@AllArgsConstructor
@NoArgsConstructor
public class $!{<!-- -->tableName} implements Serializable {<!-- -->
#foreach($column in $tableInfo.fullColumn)
    ##if(${<!-- -->column.comment})/**
    ##* ${column.comment}
    ##*/#end
    @ApiModelProperty("$column.comment")
    private $!{<!-- -->tool.getClsNameByFullName($column.type)} $!{<!-- -->column.name};
#end
#foreach($column in $tableInfo.fullColumn)
#end
}

service

##Import macro definition
##Import macro definition
$!{<!-- -->define.vm}

##Set table suffix (macro definition)
#setTableSuffix("Service")

##Save file (macro definition)
#save("/service", "Service.java")

##Package path (macro definition)
#setPackageSuffix("service")

import com.baomidou.mybatisplus.extension.service.IService;
import $!{<!-- -->tableInfo.savePackageName}.entity.$!{<!-- -->tableInfo.name}Entity;

##Table comments (macro definition)
##tableComment("Table Service Interface")
public interface $!{<!-- -->tableName} extends IService<$!{<!-- -->tableInfo.name}Entity> {<!-- -->
}

serviceimpl

##Import macro definition
$!{<!-- -->define.vm}

##Set table suffix (macro definition)
#setTableSuffix("ServiceImpl")

##Save file (macro definition)
#save("/service/impl", "ServiceImpl.java")

##Package path (macro definition)
#setPackageSuffix("service.impl")

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import $!{<!-- -->tableInfo.savePackageName}.dao.$!{<!-- -->tableInfo.name}Dao;
import $!{<!-- -->tableInfo.savePackageName}.entity.$!{<!-- -->tableInfo.name}Entity;
import $!{<!-- -->tableInfo.savePackageName}.service.$!{<!-- -->tableInfo.name}Service;
import org.springframework.stereotype.Service;

##Table comments (macro definition)
##tableComment("Table service implementation class")
@Service("$!tool.firstLowerCase($tableInfo.name)Service")
public class $!{<!-- -->tableName} extends ServiceImpl<$!{<!-- -->tableInfo.name}Dao, $!{<!-- -->tableInfo.name}Entity> implements $!{<!-- -->tableInfo.name}Service {<!-- -->
}