package com.mes.tools;
|
|
/**
|
* @Author : zhoush
|
* @Date: 2024/3/26 9:01
|
* @Description:
|
*/
|
|
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 javax.sql.DataSource;
|
import java.util.ArrayList;
|
import java.util.List;
|
|
public class DatabaseDesignDocUtil {
|
|
public static void main(String[] args) {
|
documentGeneration();
|
}
|
|
/**
|
* 文档生成
|
*/
|
public static void documentGeneration() {
|
//数据源
|
HikariConfig hikariConfig = new HikariConfig();
|
hikariConfig.setDriverClassName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
|
hikariConfig.setJdbcUrl("jdbc:sqlserver://10.153.19.150:1433;databasename=hangzhoumes");
|
hikariConfig.setUsername("sa");
|
hikariConfig.setPassword("beibo.123/");
|
//设置可以获取tables remarks信息
|
hikariConfig.addDataSourceProperty("useInformationSchema", "true");
|
hikariConfig.setMinimumIdle(2);
|
hikariConfig.setMaximumPoolSize(5);
|
DataSource dataSource = new HikariDataSource(hikariConfig);
|
//生成配置
|
EngineConfig engineConfig = EngineConfig.builder()
|
//生成文件路径
|
.fileOutputDir("E:\\项目\\项目文档\\杭州利来2")
|
//打开目录
|
.openOutputDir(true)
|
//文件类型
|
.fileType(EngineFileType.WORD)
|
//生成模板实现
|
.produceType(EngineTemplateType.freemarker)
|
//自定义文件名称
|
.fileName("杭州利来数据库文档").build();
|
|
//忽略表
|
List<String> ignoreTableName = new ArrayList<>();
|
ignoreTableName.add("test_user");
|
ignoreTableName.add("test_group");
|
//忽略表前缀
|
ArrayList<String> ignorePrefix = new ArrayList<>();
|
ignorePrefix.add("test_");
|
//忽略表后缀
|
ArrayList<String> ignoreSuffix = new ArrayList<>();
|
ignoreSuffix.add("_test");
|
ProcessConfig processConfig = ProcessConfig.builder()
|
//指定生成逻辑、当存在指定表、指定表前缀、指定表后缀时,将生成指定表,其余表不生成、并跳过忽略表配置
|
//根据名称指定表生成
|
.designatedTableName(new ArrayList<>())
|
//根据表前缀生成
|
.designatedTablePrefix(new ArrayList<>())
|
//根据表后缀生成
|
.designatedTableSuffix(new ArrayList<>())
|
//忽略表名
|
.ignoreTableName(ignoreTableName)
|
//忽略表前缀
|
.ignoreTablePrefix(ignorePrefix)
|
//忽略表后缀
|
.ignoreTableSuffix(ignoreSuffix).build();
|
//配置
|
Configuration config = Configuration.builder()
|
//版本
|
.version("1.0.0")
|
//描述
|
.description("数据库设计文档生成")
|
//数据源
|
.dataSource(dataSource)
|
//生成配置
|
.engineConfig(engineConfig)
|
//生成配置
|
.produceConfig(processConfig)
|
.build();
|
//执行生成
|
new DocumentationExecute(config).execute();
|
}
|
|
}
|