GeneUtils.java 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. package com.sf.util;
  2. import com.baomidou.mybatisplus.generator.FastAutoGenerator;
  3. import com.baomidou.mybatisplus.generator.config.OutputFile;
  4. import com.baomidou.mybatisplus.generator.config.rules.DbColumnType;
  5. import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
  6. import java.sql.Types;
  7. import java.util.ArrayList;
  8. import java.util.Collections;
  9. import java.util.List;
  10. public class GeneUtils {
  11. public static void main(String[] args) {
  12. List<String> list = new ArrayList<>();
  13. // list.add("home_book");
  14. // list.add("book_info"); // 书籍表
  15. // list.add("book_chapter"); // 书籍章节表
  16. // list.add("book_content"); // 章节内容表
  17. // list.add("news_info"); // 新闻列表
  18. // list.add("news_content"); // 新闻内容表
  19. // list.add("book_category"); // 书籍种类表
  20. // list.add("home_friend_link"); // 首页友情链接表
  21. list.add("user_info"); // 用户信息表
  22. // 快速生成器
  23. FastAutoGenerator.create("jdbc:mysql://localhost:3306/novel-cloud?useUnicode=true&characterEncoding=utf-8&allowPublicKeyRetrieval=true&useSSL=false&serverTimezone=Asia/Shanghai",
  24. "root", "root123456")
  25. // 全局配置
  26. .globalConfig(builder -> {
  27. builder.author("baomidou") // 设置作者
  28. // .enableSwagger() // 开启 swagger 模式
  29. .outputDir("src/main/java/"); // 指定输出目录
  30. // .outputDir("src\\main\\java\\"); // 指定输出目录
  31. })
  32. // 数据源配置
  33. .dataSourceConfig(builder ->
  34. builder.typeConvertHandler((globalConfig, typeRegistry, metaInfo) -> {
  35. int typeCode = metaInfo.getJdbcType().TYPE_CODE;
  36. if (typeCode == Types.SMALLINT) {
  37. // 自定义类型转换
  38. return DbColumnType.INTEGER;
  39. }
  40. return typeRegistry.getColumnType(metaInfo);
  41. })
  42. )
  43. // 包配置
  44. .packageConfig(builder ->
  45. builder.parent("com.sf") // 设置父包名
  46. .moduleName("") // 设置父包模块名
  47. .pathInfo(Collections.singletonMap(OutputFile.xml, "src/main/resources/mapper"))// 设置mapperXml生成路径
  48. .entity("entity") //设置实体类包名
  49. .mapper("mapper")
  50. )
  51. // 策略配置
  52. .strategyConfig(builder ->
  53. // builder.addInclude("book_info") // 设置需要生成的表名
  54. builder.addInclude(list) // 设置需要生成的表名
  55. // .addTablePrefix("t_", "c_") // 设置过滤表前缀
  56. )
  57. .templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
  58. .execute();
  59. }
  60. }