123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- package com.sf.admin.util;
- import com.baomidou.mybatisplus.generator.FastAutoGenerator;
- import com.baomidou.mybatisplus.generator.config.OutputFile;
- import com.baomidou.mybatisplus.generator.config.rules.DbColumnType;
- import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
- import java.sql.Types;
- import java.util.ArrayList;
- import java.util.Collections;
- import java.util.List;
- // 代码生成工具
- public class GeneUtils {
- public static void main(String[] args) {
- List<String> list = new ArrayList<>();
- // list.add("ums_admin"); // 用户表
- // list.add("ums_menu"); // 菜单表
- // list.add("ums_role"); // 角色表
- // list.add("ums_dept"); // 部门表
- // list.add("ums_admin_role_relation"); // 用户角色关联表
- // list.add("ums_role_menu_relation"); // 角色菜单关联表
- // list.add("cc_enterprise"); // 企业信息表
- // list.add("cc_archives"); // 档案表
- // list.add("ums_member"); // 成员表
- // list.add("cc_knowledge"); // 知识库表
- // list.add("cc_work_order"); // 工单表
- // list.add("cc_score"); // 评分表
- list.add("sts_echarts"); // 折线图模拟数据表
- // 快速生成器
- FastAutoGenerator.create("jdbc:mysql://localhost:3306/sfcc_bak?useUnicode=true&characterEncoding=utf-8&allowPublicKeyRetrieval=true&useSSL=false&serverTimezone=Asia/Shanghai",
- "root", "root123456")
- // 全局配置
- .globalConfig(builder -> {
- builder.author("baomidou") // 设置作者
- // .enableSwagger() // 开启 swagger 模式
- .outputDir("admin-demo/src/main/java/"); // 指定输出目录 mac/linux系统
- // .outputDir("src\\main\\java\\"); // 指定输出目录 windows系统
- })
- // 数据源配置
- .dataSourceConfig(builder ->
- builder.typeConvertHandler((globalConfig, typeRegistry, metaInfo) -> {
- int typeCode = metaInfo.getJdbcType().TYPE_CODE;
- if (typeCode == Types.SMALLINT) {
- // 自定义类型转换 smallint - short - int
- return DbColumnType.INTEGER;
- }
- if (typeCode == Types.TINYINT) {
- // tinyint - byte - int
- return DbColumnType.INTEGER;
- }
- return typeRegistry.getColumnType(metaInfo);
- })
- )
- // 包配置
- .packageConfig(builder ->
- builder.parent("com.sf.admin") // 设置父包名
- .moduleName("") // 设置父包模块名
- .pathInfo(Collections.singletonMap(
- // 设置mapperXml生成路径
- OutputFile.xml, "admin-demo/src/main/resources/mapper"))
- .entity("entity") //设置实体类包名
- .mapper("mapper")
- .service("service")
- .controller("controller")
- )
- // 策略配置
- .strategyConfig(builder ->
- // 设置需要生成的表名
- builder.addInclude(list).entityBuilder().enableLombok()
- )
- // 使用Freemarker引擎模板,默认的是Velocity引擎模板
- .templateEngine(new FreemarkerTemplateEngine())
- .execute();
- }
- }
|