package com.sf.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("home_book"); // list.add("book_info"); // 书籍表 // list.add("book_chapter"); // 书籍章节表 // list.add("book_content"); // 章节内容表 // list.add("news_info"); // 新闻列表 // list.add("news_content"); // 新闻内容表 // list.add("book_category"); // 书籍种类表 // list.add("home_friend_link"); // 首页友情链接表 list.add("user_info"); // 用户信息表 // 快速生成器 FastAutoGenerator.create("jdbc:mysql://localhost:3306/novel-cloud?useUnicode=true&characterEncoding=utf-8&allowPublicKeyRetrieval=true&useSSL=false&serverTimezone=Asia/Shanghai", "root", "root123456") // 全局配置 .globalConfig(builder -> { builder.author("baomidou") // 设置作者 // .enableSwagger() // 开启 swagger 模式 .outputDir("src/main/java/"); // 指定输出目录 // .outputDir("src\\main\\java\\"); // 指定输出目录 }) // 数据源配置 .dataSourceConfig(builder -> builder.typeConvertHandler((globalConfig, typeRegistry, metaInfo) -> { int typeCode = metaInfo.getJdbcType().TYPE_CODE; if (typeCode == Types.SMALLINT) { // 自定义类型转换 return DbColumnType.INTEGER; } return typeRegistry.getColumnType(metaInfo); }) ) // 包配置 .packageConfig(builder -> builder.parent("com.sf") // 设置父包名 .moduleName("") // 设置父包模块名 .pathInfo(Collections.singletonMap(OutputFile.xml, "src/main/resources/mapper"))// 设置mapperXml生成路径 .entity("entity") //设置实体类包名 .mapper("mapper") ) // 策略配置 .strategyConfig(builder -> // builder.addInclude("book_info") // 设置需要生成的表名 builder.addInclude(list) // 设置需要生成的表名 // .addTablePrefix("t_", "c_") // 设置过滤表前缀 ) .templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 .execute(); } }