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 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(); } }