Loading... ## MP代码生成器官方文档: [传送阵](https://baomidou.com/pages/981406/#%E6%95%B0%E6%8D%AE%E5%BA%93%E9%85%8D%E7%BD%AE-datasourceconfig) ## 导入依赖: ```java <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>3.5.1</version> </dependency> <dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity</artifactId> <version>1.7</version> </dependency> ``` ## 代码生成器: 修改下面配置信息,点击运行,即可生成代码 ```java package cn.bdmcom.utils; import com.baomidou.mybatisplus.generator.FastAutoGenerator; import com.baomidou.mybatisplus.generator.config.OutputFile; import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine; import java.util.Collections; /** * @code Description mp代码生成器 * @code author 本当迷 * @code date 2022/9/25-9:08 */ public class CodeGenerator { public static void main(String[] args) { generate(); } private static void generate(){ FastAutoGenerator.create("jdbc:mysql://localhost:3306/admin?serverTimezone=UTC", "root", "root") .globalConfig(builder -> { builder.author("bdm") // 设置作者 .enableSwagger() // 开启 swagger 模式 .fileOverride() // 覆盖已生成文件 .outputDir("C:\\Users\\14740\\IdeaProjects\\springboot-admin\\generator\\src\\main\\java\\"); // 指定输出目录 }) .packageConfig(builder -> { builder.parent("cn.bdmcom") // 设置父包名 .moduleName(null) // 设置父包模块名 .pathInfo(Collections.singletonMap(OutputFile.mapperXml, "C:\\Users\\14740\\IdeaProjects\\springboot-admin\\generator\\src\\main\\resources\\mapper\\")); // 设置mapperXml生成路径 }) .strategyConfig(builder -> { builder.entityBuilder().enableLombok(); builder.mapperBuilder().enableMapperAnnotation().build(); builder.controllerBuilder().enableHyphenStyle() // 开启驼峰转连字符 .enableRestStyle(); // 开启生成@RestController 控制器 builder.addInclude("t_user") // 设置需要生成的表名 .addTablePrefix("t_"); // 设置过滤表前缀 }) .execute(); } } ``` ## 效果图:  ## 自定义模板: ### 首先我们找到:controller.java.vm这个配置文件  ### 然后拷贝到templates中:  ### 把controller.java.vm内容替换为下面代码: ```java package ${package.Controller}; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.util.List; import $!{package.Service}.$!{table.serviceName}; import ${package.Entity}.${entity}; #if(${superControllerClassPackage}) import ${superControllerClassPackage}; #end /** * <p> * $!{table.comment} 前端控制器 * </p> * * @author ${author} * @since ${date} */ #if(${restControllerStyle}) @RestController #else @Controller #end @RequestMapping("#if(${package.ModuleName})/${package.ModuleName}#end/#if(${controllerMappingHyphenStyle})${controllerMappingHyphen}#else${table.entityPath}#end") #if(${kotlin}) class ${table.controllerName}#if(${superControllerClass}) : ${superControllerClass}()#end #else #if(${superControllerClass}) public class ${table.controllerName} extends ${superControllerClass} { #else public class ${table.controllerName} { #end @Resource private ${table.serviceName} ${table.entityPath}Service; @PostMapping public Boolean save(@RequestBody ${entity} ${table.entityPath}) { return ${table.entityPath}Service.saveOrUpdate(${table.entityPath}); } @DeleteMapping("/{id}") public Boolean delete(@PathVariable Integer id) { return ${table.entityPath}Service.removeById(id); } @GetMapping public List<${entity}> findAll() { return ${table.entityPath}Service.list(); } @GetMapping("/{id}") public List<${entity}> findOne(@PathVariable Integer id) { return ${table.entityPath}Service.list(); } @GetMapping("/page") public Page<${entity}> findPage(@RequestParam Integer pageNum, @RequestParam Integer pageSize) { return ${table.entityPath}Service.page(new Page<>(pageNum, pageSize)); } } #end ``` **然后再次运行代码生成器** ### 效果图:  最后修改:2022 年 09 月 25 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果文章有用,请随意打赏。