AutoMPPangu.java 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. package com.mokamrp;
  2. import com.baomidou.mybatisplus.annotation.DbType;
  3. import com.baomidou.mybatisplus.annotation.IdType;
  4. import com.baomidou.mybatisplus.generator.AutoGenerator;
  5. import com.baomidou.mybatisplus.generator.InjectionConfig;
  6. import com.baomidou.mybatisplus.generator.config.*;
  7. import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
  8. import com.mokamrp.privates.mapper.pangu.pojo.FosterwxTaskTemplate;
  9. import org.junit.Test;
  10. import java.util.HashMap;
  11. import java.util.Map;
  12. public class AutoMPPangu {
  13. /**
  14. * 代码生成 示例代码
  15. */
  16. @Test
  17. public void testGenerator() {
  18. //1. 全局配置
  19. String outPutDir = "D://project/moka-private/src/main/java";
  20. GlobalConfig config = new GlobalConfig();
  21. config.setActiveRecord(true) // 是否支持AR模式
  22. .setAuthor("leon") // 作者
  23. .setOutputDir(outPutDir) // 生成路径
  24. .setFileOverride(true) // 文件覆盖
  25. .setIdType(IdType.AUTO) // 主键策略
  26. .setServiceName("%sService") // 设置生成的service接口的名字的首字母是否为I
  27. // IEmployeeService
  28. .setBaseResultMap(true) //生成sql映射文件
  29. .setBaseColumnList(true);//生成sql片段
  30. //2. 数据源配置
  31. DataSourceConfig dsConfig = new DataSourceConfig();
  32. dsConfig.setDbType(DbType.MYSQL) // 设置数据库类型
  33. .setDriverName("com.mysql.cj.jdbc.Driver")
  34. .setUrl("jdbc:mysql://172.18.71.27:3306/mochat")
  35. .setUsername("typer")
  36. .setPassword("jch9sh_shl");
  37. //3. 策略配置
  38. StrategyConfig stConfig = new StrategyConfig();
  39. stConfig.setCapitalMode(true) //全局大写命名
  40. .setRestControllerStyle(true) //.RestController
  41. .setSuperControllerClass("BaseController")
  42. .setColumnNaming(NamingStrategy.underline_to_camel)
  43. .setNaming(NamingStrategy.underline_to_camel) // 数据库表映射到实体的命名策略,下划线转驼峰命名
  44. .setTablePrefix("pan_") //表名前缀
  45. .setInclude("pan_fosterwx_cash_account_schedule");
  46. //4. 包名策略配置
  47. PackageConfig pkConfig = new PackageConfig();
  48. pkConfig.setParent("com.mokamrp.privates")
  49. .setMapper("mapper.pangu")
  50. .setService("service.pangu")
  51. .setServiceImpl("service.pangu.impl")
  52. .setController("controller.pangu")
  53. .setEntity("mapper.pangu.pojo")
  54. .setXml("mapper.pangu");
  55. //5. 注入自定义配置
  56. InjectionConfig cfg = new InjectionConfig() {
  57. @Override
  58. public void initMap() {
  59. Map<String, Object> map = new HashMap<String, Object>();
  60. this.setMap(map);
  61. }
  62. };
  63. //6. 整合配置
  64. AutoGenerator ag = new AutoGenerator();
  65. ag.setGlobalConfig(config)
  66. .setDataSource(dsConfig)
  67. .setStrategy(stConfig)
  68. .setPackageInfo(pkConfig);
  69. //. @leon 自定义模板
  70. TemplateConfig tc = new TemplateConfig();
  71. tc.setService("/template/service.java.vm");
  72. tc.setServiceImpl("/template/serviceImpl.java.vm");
  73. tc.setController("/template/controller.java.vm");
  74. tc.setMapper("/template/mapper.java.vm");
  75. tc.setXml("/template/mapper.xml.vm");
  76. ag.setTemplate(tc);
  77. //7. 执行
  78. ag.execute();
  79. }
  80. }