1. 程式人生 > 其它 >MyBatis-Plus 程式碼生成器3.5.1+

MyBatis-Plus 程式碼生成器3.5.1+

package com.test.mybatis_plus_test;

/* 官方程式碼生成器配置文件 https://baomidou.com/pages/981406/ CodeGenerator類放在spring boot啟動類同級目錄下run 新增依賴 <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>3.5.1</version> </dependency> <!--預設模板引擎velocity, 還支援Freemarker、Beetl, 都需要引入依賴(使用其他引擎詳情見官網)--> <dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity-engine-core</artifactId> <version>2.2</version> </dependency> <!-- freemarker 模板引擎 --> <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>2.3.28</version> </dependency> <!-- 開啟 swagger 所需依賴 --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-boot-starter</artifactId> <version>3.0.0</version> </dependency> <!-- 開啟 Lombok 所需依賴 --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.16</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.16</version> </dependency> */ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.generator.FastAutoGenerator; import com.baomidou.mybatisplus.generator.config.OutputFile; import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine; import java.util.ArrayList; import java.util.Collections; import java.util.List; public class CodeGenerator { public static void main(String[] args) { List<String> tables = new ArrayList<>(); // 配置要生成的表名 tables.add("sys_user"); tables.add("sys_order"); tables.add("sys_goods"); FastAutoGenerator.create("jdbc:mysql://localhost:3306/mybatisplustest?serverTimezone=UTC","root","root") .globalConfig(builder -> { builder.author("Rohmi") // 作者 .outputDir(System.getProperty("user.dir")+"\\src\\main\\java") // 輸出路徑(寫到java目錄) .enableSwagger() // 開啟swagger .commentDate("yyyy-MM-dd") .fileOverride(); // 開啟覆蓋之前生成的檔案 }) .packageConfig(builder -> { builder.parent("com.test")    // /src/main/java/*** .moduleName("mybatis_plus_test") // /src/main/java/↑↑↑/*** .entity("entity") .service("service") .serviceImpl("serviceImpl") .controller("controller") .mapper("mapper") .xml("mapper") .pathInfo(Collections.singletonMap(OutputFile.mapperXml,System.getProperty("user.dir")+"\\src\\main\\resources\\mapper")); }) .strategyConfig(builder -> { builder.addInclude(tables) .addTablePrefix("sys_") // 過濾表名字首 .serviceBuilder() .formatServiceFileName("%sService") .formatServiceImplFileName("%sServiceImpl") .entityBuilder() .enableLombok() // 開啟Lombok .logicDeleteColumnName("deleted") // 邏輯刪除欄位名 .enableTableFieldAnnotation() .controllerBuilder() .formatFileName("%sController") .enableRestStyle() // 開啟RestController .mapperBuilder() .enableBaseResultMap() // 生成通用的resultMap .superClass(BaseMapper.class) .formatMapperFileName("%sMapper") .enableMapperAnnotation() .formatXmlFileName("%sMapper"); }) .templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,預設的是Velocity引擎模板 .execute(); } }