AutoGenerate.java 4.2 KB

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