AutoGeneratorTests.java 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. package com.szwl;
  2. import com.baomidou.mybatisplus.annotation.IdType;
  3. import com.baomidou.mybatisplus.generator.AutoGenerator;
  4. import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
  5. import com.baomidou.mybatisplus.generator.config.GlobalConfig;
  6. import com.baomidou.mybatisplus.generator.config.PackageConfig;
  7. import com.baomidou.mybatisplus.generator.config.StrategyConfig;
  8. import com.baomidou.mybatisplus.generator.config.rules.DateType;
  9. import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
  10. import lombok.extern.slf4j.Slf4j;
  11. import org.junit.jupiter.api.Test;
  12. import org.springframework.boot.test.context.SpringBootTest;
  13. @Slf4j
  14. @SpringBootTest
  15. class AutoGeneratorTests {
  16. @Test
  17. void contextLoads() {
  18. AutoGenerator autoGenerator = new AutoGenerator();
  19. //获取工程的根目录
  20. String projectPath = System.getProperty("user.dir");//得到当前项目的路径
  21. //全局配置
  22. GlobalConfig globalConfig = new GlobalConfig();
  23. globalConfig.setAuthor("wuhs")
  24. .setOutputDir(projectPath + "/src/main/java")//设置输出路径,项目所在路径
  25. .setFileOverride(true)//设置文件覆盖
  26. .setOpen(false)//是否生成代码后打开本地目录
  27. .setSwagger2(true) //实体属性 Swagger2 注解
  28. .setIdType(IdType.ASSIGN_ID)//设置主键生成策略
  29. .setServiceName("%sService")//service接口的名称
  30. .setDateType(DateType.ONLY_DATE)
  31. .setBaseResultMap(true)//基本结果集合
  32. .setBaseColumnList(true)//设置基本的列
  33. .setControllerName("%sController");
  34. //配置数据源
  35. //配置数据源
  36. DataSourceConfig dataSourceConfig = new DataSourceConfig();
  37. dataSourceConfig.setDriverName("com.mysql.cj.jdbc.Driver")
  38. .setUrl("jdbc:mysql://rm-wz995mu26a1479kz0so.mysql.rds.aliyuncs.com:3306/szwl-test")
  39. .setUsername("root").setPassword("sunzee@020");
  40. //策略配置
  41. StrategyConfig strategyConfig = new StrategyConfig();
  42. strategyConfig
  43. // .setCapitalMode(true)//设置全局大写命名
  44. .setInclude(new String[]{
  45. "t_hot_update"
  46. })//只会生成该表
  47. .setEntityLombokModel(true)//实体类生成之后自动添加lombok注解
  48. .setNaming(NamingStrategy.underline_to_camel)//数据库表映射到实体的命名策略
  49. .setColumnNaming(NamingStrategy.underline_to_camel)//将数据库中带下划线的转成驼峰规则
  50. //.setTablePrefix("tbl_")//设置表名前缀
  51. .setRestControllerStyle(true)//controller是否使用restful风格
  52. ;
  53. //包名配置
  54. PackageConfig packageConfig = new PackageConfig();
  55. packageConfig.setParent("com.szwl")
  56. .setMapper("mapper")//包路径
  57. .setService("service")
  58. .setController("controller")
  59. .setEntity("model.entity")
  60. // .setXml()
  61. ;
  62. autoGenerator.setGlobalConfig(globalConfig).setDataSource(dataSourceConfig)
  63. .setStrategy(strategyConfig).setPackageInfo(packageConfig);
  64. autoGenerator.execute();
  65. }
  66. }