From 0bf868d3cdf9226e178c076d3b588ed5207409a0 Mon Sep 17 00:00:00 2001 From: kongzy <kongzy> Date: 星期五, 24 十一月 2023 17:51:40 +0800 Subject: [PATCH] merge --- assess-admin/src/test/java/com/gkhy/admin/MybatisPlusGenerator.java | 109 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 109 insertions(+), 0 deletions(-) diff --git a/assess-admin/src/test/java/com/gkhy/admin/MybatisPlusGenerator.java b/assess-admin/src/test/java/com/gkhy/admin/MybatisPlusGenerator.java new file mode 100644 index 0000000..5c26675 --- /dev/null +++ b/assess-admin/src/test/java/com/gkhy/admin/MybatisPlusGenerator.java @@ -0,0 +1,109 @@ +package com.gkhy.admin; + +import com.baomidou.mybatisplus.generator.FastAutoGenerator; +import com.baomidou.mybatisplus.generator.config.DataSourceConfig; +import com.baomidou.mybatisplus.generator.config.OutputFile; +import com.baomidou.mybatisplus.generator.config.rules.DateType; +import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +public class MybatisPlusGenerator { + public static void main(String[] args) { + System.out.println(System.getProperty("user.dir")); + String model="/assess-system"; + // 数据库配置 + DataSourceConfig.Builder dataSourceConfigBuilder = new DataSourceConfig + .Builder("jdbc:mysql://localhost:3306/smart_assess" + + "?useSSL=false&allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&autoReconnect=true" + , "root", "password"); + FastAutoGenerator.create(dataSourceConfigBuilder) + // 全局配置 + .globalConfig((scanner, builder) -> { + builder.author("kzy") + // 覆盖已生成文件 + .fileOverride() + // 指定输出目录 + .outputDir(System.getProperty("user.dir") +model+ "/src/main/java/") + // 开启 swagger 模式 + .enableSwagger() + // 禁止打开输出目录 + .disableOpenDir() + // 时间策略 + .dateType(DateType.TIME_PACK) + // 类注释日期的格式 + .commentDate("yyyy-MM-dd HH:mm:ss") + .build(); + }) + // 包配置 + .packageConfig((scanner, builder) -> { + // 父包名 + builder.parent("com.gkhy.assess") + // 模块名 + .moduleName("system") + // Entity 包名 + .entity("domain") + // Service 包名 + .service("service") + // Service Impl 包名 + .serviceImpl("service.impl") + // Controller 包名 + .controller("controller") + // Mapper 包名 + .mapper("mapper.system") + // MapperXML 包名 + .xml("mapper.system") + // 路径配置信息 + .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") +model+ "/src/main/resources/mapper/")); + }) + //策略配置 + .strategyConfig((scanner, builder) -> { + // 增加表匹配(内存过滤), include 与 exclude 只能配置一项 + builder.addInclude(getTables(scanner.apply("请输入要生成的表名,多个英文逗号分隔?所有输入 all"))) + // 增加表排除匹配(内存过滤), include 与 exclude 只能配置一项 + // .addExclude(scanner.apply("请输入要忽略的表名,多个英文逗号分隔?")) + // 增加过滤表后缀 + .addTableSuffix("") + // 增加过滤表前缀 + .addTablePrefix("") + // service 策略配置 + .serviceBuilder() + // 格式化文件名称 + .formatServiceFileName("%sService") + .formatServiceImplFileName("%sServiceImpl") + // 实体策略配置 + .entityBuilder() + // 开启 lombok 模型 + .enableLombok() + // 开启生成实体时生成字段注解 + .enableTableFieldAnnotation() + // controller 策略配置 + .controllerBuilder() + .formatFileName("%sController") + // 开启生成@RestController 控制器 + .enableRestStyle() + // mapper 策略配置 + .mapperBuilder() + .formatMapperFileName("%sMapper") + .enableMapperAnnotation() + .formatXmlFileName("%sMapper"); + }) + // 使用Freemarker引擎模板,默认的是Velocity引擎模板 + .templateEngine(new FreemarkerTemplateEngine()) + .execute(); + } + + + + /** + * 处理 all 情况 + * + * @param tables + * @return + */ + protected static List<String> getTables(String tables) { + return "all".equals(tables) ? Collections.emptyList() : Arrays.asList(tables.split(",")); + } +} -- Gitblit v1.9.2