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 {<!-- -->
}