AutoMPCrawer.java 2.9 KB

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