中国算力平台算力登记系统2.0
yanzhaofeige
6 days ago 346e19ed91e10ac14722fcc29dbb810b9d971d3d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
package com.odcc.cpzidc.test;
 
import cn.smallbun.screw.core.Configuration;
import cn.smallbun.screw.core.engine.EngineConfig;
import cn.smallbun.screw.core.engine.EngineFileType;
import cn.smallbun.screw.core.engine.EngineTemplateType;
import cn.smallbun.screw.core.execute.DocumentationExecute;
import cn.smallbun.screw.core.process.ProcessConfig;
import com.zaxxer.hikari.HikariConfig;
import com.zaxxer.hikari.HikariDataSource;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.context.ApplicationContext;
import org.springframework.test.context.junit4.SpringRunner;
 
import javax.sql.DataSource;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
 
@RunWith(SpringRunner.class)
@SpringBootTest
public class ScrewApplicationTests {
 
   @Autowired
   private ApplicationContext applicationContext;
 
   @Test
   public void contextLoads() {
      HikariConfig hikariConfig = new HikariConfig();
      hikariConfig.setDriverClassName("com.mysql.cj.jdbc.Driver");
      hikariConfig.setJdbcUrl("jdbc:mysql://rm-2ze76o0e1v97mb1689o.mysql.rds.aliyuncs.com:23306/db_cpz_idc?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8");
      hikariConfig.setUsername("laodai_20220711");
      hikariConfig.setPassword("odc#cwei288^49");
      //设置可以获取tables remarks信息
      hikariConfig.addDataSourceProperty("useInformationSchema", "true");
      hikariConfig.setMinimumIdle(2);
      hikariConfig.setMaximumPoolSize(5);
      DataSource dataSource = new HikariDataSource(hikariConfig);
 
      // 生成文件配置
      EngineConfig engineConfig = EngineConfig.builder()
            // 生成文件路径,自己mac本地的地址,这里需要自己更换下路径
            .fileOutputDir("/Users/daizhiping/V")
            // 打开目录
            .openOutputDir(false)
            // 文件类型
            .fileType(EngineFileType.WORD)
            // 生成模板实现
            .produceType(EngineTemplateType.freemarker).build();
 
      // 生成文档配置(包含以下自定义版本号、描述等配置连接)
      Configuration config = Configuration.builder()
            .version("2.0.0")
            .description("中国算力平台算力登记系统")
            .dataSource(dataSource)
            .engineConfig(engineConfig)
            .produceConfig(getProcessConfig())
            .build();
 
      // 执行生成
      new DocumentationExecute(config).execute();
   }
 
 
   /**
    * 配置想要生成的表+ 配置想要忽略的表
    * @return 生成表配置
    */
   public static ProcessConfig getProcessConfig(){
      // 忽略表名
      List<String> ignoreTableName = Arrays.asList("aa","test_group");
      // 忽略表前缀,如忽略a开头的数据库表
      List<String> ignorePrefix = Arrays.asList("gen_","qrtz_","sys_");
      // 忽略表后缀
      List<String> ignoreSuffix = Arrays.asList("_test","czb_");
 
      return ProcessConfig.builder()
            //根据名称指定表生成
            .designatedTableName(new ArrayList<>())
            //根据表前缀生成
            .designatedTablePrefix(new ArrayList<>())
            //根据表后缀生成
            .designatedTableSuffix(new ArrayList<>())
            //忽略表名
            .ignoreTableName(ignoreTableName)
            //忽略表前缀
            .ignoreTablePrefix(ignorePrefix)
            //忽略表后缀
            .ignoreTableSuffix(ignoreSuffix).build();
   }
}