New file |
| | |
| | | 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(); |
| | | } |
| | | |
| | | } |