AutoGenerate.java 3.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. package com.fdkankan.scene.generator;
  2. import com.baomidou.mybatisplus.annotation.IdType;
  3. import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  4. import com.baomidou.mybatisplus.generator.FastAutoGenerator;
  5. import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
  6. import com.baomidou.mybatisplus.generator.config.OutputFile;
  7. import com.baomidou.mybatisplus.generator.config.rules.DateType;
  8. import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
  9. import java.util.ArrayList;
  10. import java.util.Arrays;
  11. import java.util.Collections;
  12. import java.util.List;
  13. public class AutoGenerate {
  14. public static void main(String[] args) {
  15. String path =System.getProperty("user.dir");
  16. generate(path,"scene.generator", getTables(new String[]{
  17. "t_scene_asyn_oper_log"
  18. }));
  19. }
  20. public static List<String> getTables(String [] tableNames){
  21. return new ArrayList<>(Arrays.asList(tableNames));
  22. }
  23. public static void generate(String path,String moduleName, List<String> tables){
  24. DataSourceConfig.Builder datasourceConfig = new DataSourceConfig.Builder("jdbc:postgresql://10.180.145.98:5432/chinatower_vr",
  25. "res_vr", "qawsed@123.");
  26. datasourceConfig.schema("res_vr");
  27. FastAutoGenerator.create(datasourceConfig)
  28. .globalConfig(builder -> {
  29. builder.author("") //作者
  30. .outputDir(path+"\\src\\main\\java") //输出路径(写到java目录)
  31. //.enableSwagger() //开启swagger
  32. .commentDate("yyyy-MM-dd")
  33. .dateType(DateType.ONLY_DATE)
  34. .fileOverride(); //开启覆盖之前生成的文件
  35. })
  36. .packageConfig(builder -> {
  37. builder.parent("com.fdkankan")
  38. .moduleName(moduleName)
  39. .entity("entity")
  40. .service("service")
  41. .serviceImpl("service.impl")
  42. .controller("controller")
  43. .mapper("mapper")
  44. .xml("test.mapper")
  45. .pathInfo(Collections.singletonMap(OutputFile.mapperXml,path+"\\src\\main\\resources\\mapper\\"+moduleName));
  46. })
  47. .strategyConfig(builder -> {
  48. builder.addInclude(tables)
  49. .addTablePrefix("t_")
  50. .serviceBuilder()
  51. .formatServiceFileName("%sService")
  52. .formatServiceImplFileName("%sServiceImpl")
  53. .entityBuilder()
  54. .enableLombok()
  55. .logicDeleteColumnName("rec_status")
  56. .enableTableFieldAnnotation()
  57. .idType(IdType.AUTO)
  58. // .superClass(BaseEntity.class)
  59. .controllerBuilder()
  60. .formatFileName("%sController")
  61. .enableRestStyle()
  62. .mapperBuilder()
  63. .superClass(BaseMapper.class)
  64. .formatMapperFileName("%sMapper")
  65. .enableMapperAnnotation()
  66. .formatXmlFileName("%sMapper");
  67. })
  68. .templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
  69. .execute();
  70. }
  71. }