AutoGenerate.java 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. package com.fdkankan.project.tieta.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.OutputFile;
  6. import com.baomidou.mybatisplus.generator.config.rules.DateType;
  7. import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
  8. import java.util.ArrayList;
  9. import java.util.Arrays;
  10. import java.util.Collections;
  11. import java.util.List;
  12. public class AutoGenerate {
  13. public static void main(String[] args) {
  14. String path =System.getProperty("user.dir");
  15. generate(path,"project.tieta.generator", getTables(new String[]{
  16. "T_FULLPHOTO_UPRECORD"
  17. }));
  18. // generate(path,"goods", getTables(new String[]{
  19. // "t_camera","t_camera_detail","t_camera_out","t_camera_space","t_camera_version",
  20. // "t_company","t_goods","t_goods_sku","t_cart","t_goods_spec",
  21. // "t_goods_spec_value","t_goods_spu_spec","t_sn_code"
  22. // }));
  23. //
  24. // generate(path,"order", getTables(new String[]{
  25. // "t_increment_order","t_invoice","t_order","t_order_item",
  26. // "t_pre_sale","t_space_sdk","t_trade_log","t_commerce_order","t_download_order","t_expansion_order"
  27. // }));
  28. // generate(path,"order", getTables(new String[]{
  29. // "t_virtual_order"
  30. // }));
  31. //
  32. // generate(path,"user", getTables(new String[]{
  33. // "t_user","t_user_increment","t_manager","t_province","t_increment_type","t_intercom_message","t_receiver_info"
  34. // }));
  35. }
  36. public static List<String> getTables(String [] tableNames){
  37. return new ArrayList<>(Arrays.asList(tableNames));
  38. }
  39. public static void generate(String path,String moduleName, List<String> tables){
  40. FastAutoGenerator.create("jdbc:oracle:thin:@//10.180.41.37:1521/resdb",
  41. "RES_FILE","qNQVkH3YbA")
  42. .globalConfig(builder -> {
  43. builder.author("") //作者
  44. .outputDir(path+"\\src\\main\\java") //输出路径(写到java目录)
  45. //.enableSwagger() //开启swagger
  46. .commentDate("yyyy-MM-dd")
  47. .dateType(DateType.ONLY_DATE)
  48. .fileOverride(); //开启覆盖之前生成的文件
  49. })
  50. .packageConfig(builder -> {
  51. builder.parent("com.fdkankan")
  52. .moduleName(moduleName)
  53. .entity("entity")
  54. .service("service")
  55. .serviceImpl("service.impl")
  56. .controller("controller")
  57. .mapper("mapper")
  58. .xml("test.mapper")
  59. .pathInfo(Collections.singletonMap(OutputFile.mapperXml,path+"\\src\\main\\resources\\mapper\\"+moduleName));
  60. })
  61. .strategyConfig(builder -> {
  62. builder.addInclude(tables)
  63. .addTablePrefix("t_")
  64. .serviceBuilder()
  65. .formatServiceFileName("%sService")
  66. .formatServiceImplFileName("%sServiceImpl")
  67. .entityBuilder()
  68. .enableLombok()
  69. .logicDeleteColumnName("rec_status")
  70. .enableTableFieldAnnotation()
  71. .idType(IdType.AUTO)
  72. // .superClass(BaseEntity.class)
  73. .controllerBuilder()
  74. .formatFileName("%sController")
  75. .enableRestStyle()
  76. .mapperBuilder()
  77. .superClass(BaseMapper.class)
  78. .formatMapperFileName("%sMapper")
  79. .enableMapperAnnotation()
  80. .formatXmlFileName("%sMapper");
  81. })
  82. // .templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
  83. .execute();
  84. }
  85. }