You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

88 lines
3.1 KiB
Java

package com.docus.server;
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;
2 years ago
import com.docus.server.api.ocr.OcrApi;
import com.docus.server.vo.ocr.OcrResponse;
import com.zaxxer.hikari.HikariConfig;
import com.zaxxer.hikari.HikariDataSource;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.context.ApplicationContext;
2 years ago
import javax.annotation.Resource;
import javax.sql.DataSource;
2 years ago
import java.io.File;
import java.util.ArrayList;
2 years ago
import java.util.HashMap;
import java.util.Map;
@SpringBootTest
class ScrewTests {
@Autowired
private ApplicationContext applicationContext;
2 years ago
@Resource
private OcrApi ocrApi;
@Test
void test() {
HikariConfig hikariConfig = new HikariConfig();
hikariConfig.setDriverClassName("com.mysql.cj.jdbc.Driver");
hikariConfig.setJdbcUrl("jdbc:mysql://db.docus.cn:3306/docus-collector-scheduling?autoReconnect=true&allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai");
hikariConfig.setUsername("docus");
hikariConfig.setPassword("docus702");
//设置可以获取tables remarks信息
hikariConfig.addDataSourceProperty("useInformationSchema", "true");
hikariConfig.setMinimumIdle(2);
hikariConfig.setMaximumPoolSize(5);
DataSource dataSource = new HikariDataSource(hikariConfig);
//生成文件配置
EngineConfig engineConfig = EngineConfig
.builder()
//文件生成路径
.fileOutputDir("h:\\file")
//打开目录
.openOutputDir(false)
//文件类型
.fileType(EngineFileType.HTML)
//生成模板实现
.produceType(EngineTemplateType.freemarker)
.build();
//配置想要生成的表
ProcessConfig processConfig = ProcessConfig
.builder()
//根据名称指定表生成
.designatedTableName(new ArrayList<>())
//根据表前缀生成
.designatedTablePrefix(new ArrayList<>())
//根据表后缀生成
.designatedTableSuffix(new ArrayList<>())
//忽略表名
.ignoreTableName(new ArrayList<>())
//忽略表前缀
.ignoreTablePrefix(new ArrayList<>())
//忽略表后缀
.ignoreTableSuffix(new ArrayList<>())
.build();
//生成文档配置
Configuration configuration = Configuration.builder()
.version("1.0.0")
.description("描述")
.dataSource(dataSource)
.engineConfig(engineConfig)
.produceConfig(processConfig)
.build();
//生成
new DocumentationExecute(configuration).execute();
}
}