CodeGenerateTest.java 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. package bus;
  2. import com.orcas.deve.tool.common.enums.ProjectType;
  3. import com.orcas.deve.tool.common.model.generate.GenerateConfig;
  4. import com.orcas.deve.tool.common.model.generate.ProjectInfo;
  5. import com.orcas.deve.tool.common.model.generate.TableInfo;
  6. import com.orcas.deve.tool.core.service.CodeGenerator;
  7. import com.orcas.deve.tool.core.service.strategy.StrategySelector;
  8. import org.junit.jupiter.api.Test;
  9. import org.springframework.boot.test.context.SpringBootTest;
  10. import java.util.ArrayList;
  11. import java.util.List;
  12. @SpringBootTest(classes = {Application.class})
  13. public class CodeGenerateTest {
  14. @Test
  15. public void codeGenerate(){
  16. GenerateConfig generateConfig = new GenerateConfig();
  17. //设置输出目录
  18. //CodeGenerator.baseOutputDir="/Users/zhou/work/";
  19. CodeGenerator.baseOutputDir="E:\\selfWork";
  20. //设置项目信息
  21. ProjectInfo projectInfo = new ProjectInfo();
  22. //1表示多模块0表示单模块
  23. projectInfo.setType(ProjectType.multyModule.getValue());
  24. projectInfo.setAuthor("zy");
  25. projectInfo.setBasePackage("bus");
  26. projectInfo.setProjectName("bus");
  27. generateConfig.setProjectInfo(projectInfo);
  28. //获取数据源信息
  29. generateConfig.getDataSourceInfo().setJdbcUrl("jdbc:mysql://metapixels.top:13306/bus_allot?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8");
  30. generateConfig.getDataSourceInfo().setJdbcUserName("root");
  31. generateConfig.getDataSourceInfo().setJdbcPassword("9a41012499f38251");
  32. generateConfig.getDataSourceInfo().setJdbcDriverName("com.mysql.cj.jdbc.Driver");
  33. //设置生成的表
  34. List<TableInfo> tables = new ArrayList<>();
  35. TableInfo tableInfo = new TableInfo();
  36. tableInfo.setTableName("b_pre_bus");
  37. tableInfo.setTableAlias("BPreBus");
  38. tables.add(tableInfo);
  39. generateConfig.setTableInfos(tables);
  40. //生成代码
  41. StrategySelector selector = new StrategySelector();
  42. //代码生成
  43. try {
  44. //生成控制层目录
  45. String moduleName = generateConfig.getProjectInfo().getProjectName()+"-web";
  46. generateConfig.getProjectInfo().setModuleName(moduleName);
  47. selector.generateWeb(generateConfig,"");
  48. //生成业务层目录
  49. moduleName = generateConfig.getProjectInfo().getProjectName()+"-biz";
  50. generateConfig.getProjectInfo().setModuleName(moduleName);
  51. selector.generateBiz(generateConfig,"");
  52. //生成公共实体层目录
  53. moduleName = generateConfig.getProjectInfo().getProjectName()+"-common";
  54. generateConfig.getProjectInfo().setModuleName(moduleName);
  55. selector.generateCommon(generateConfig,"");
  56. } catch (Exception e) {
  57. e.printStackTrace();
  58. }
  59. }
  60. }