Generator.java 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. package com.alvin;
  2. import com.baomidou.mybatisplus.annotation.FieldFill;
  3. import com.baomidou.mybatisplus.generator.FastAutoGenerator;
  4. import com.baomidou.mybatisplus.generator.config.OutputFile;
  5. import com.baomidou.mybatisplus.generator.config.rules.DateType;
  6. import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
  7. import com.baomidou.mybatisplus.generator.fill.Column;
  8. import java.util.Collections;
  9. public class Generator {
  10. public static void main(String[] args) {
  11. String db_url = "jdbc:mysql://localhost:3306/aj_report";
  12. String db_username = "root";
  13. String db_password = "root";
  14. String javaDir = "C:/code";
  15. String parentPackage = "com.alvin";
  16. String moduleName = "db";
  17. String tableName = "access_role";
  18. String author = "tianyun";
  19. String tablePrefix = "t_";
  20. generatorToFile(db_url, db_username, db_password, author, javaDir, parentPackage, moduleName, tableName, tablePrefix);
  21. }
  22. private static void generatorToFile(String db_url, String db_username, String db_password, String author, String javaDir, String parentPackage, String moduleName, String tableName, String tablePrefix) {
  23. FastAutoGenerator.create(db_url, db_username, db_password)
  24. //===全局配置
  25. .globalConfig(builder -> {
  26. builder.author(author) // 设置作者
  27. .dateType(DateType.ONLY_DATE) // 设置日期为 Date
  28. //.enableSwagger() // 开启 swagger 模式
  29. .fileOverride() // 覆盖已生成文件
  30. .outputDir(javaDir); // 指定输出目录
  31. })
  32. //===模块配置
  33. .packageConfig(builder -> {
  34. builder.parent(parentPackage) // 设置父包名
  35. .moduleName(moduleName) // 设置父包模块名
  36. .pathInfo(Collections.singletonMap(OutputFile.mapperXml, javaDir + "/../resources/mapper")); // 设置mapperXml生成路径
  37. })
  38. .strategyConfig(builder -> {
  39. builder.addInclude(tableName) // 设置需要生成的表名
  40. .addTablePrefix(tablePrefix)
  41. .entityBuilder()
  42. .enableLombok()
  43. .addTableFills(
  44. new Column("create_time", FieldFill.INSERT),
  45. new Column("update_time", FieldFill.INSERT_UPDATE)
  46. )
  47. ;
  48. })
  49. .templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
  50. //.templateConfig(builder -> builder.controller("")) // 设置为空则不会生成该文件
  51. //.templateConfig(builder -> builder.service(""))
  52. //.templateConfig(builder -> builder.serviceImpl(""))
  53. .execute();
  54. }
  55. }