java-自动生成数据库设计文档

news/2024/11/16 19:57:14/

目录

screw 官网介绍 

screw 的特点:

目前支持的数据库有:

文档生成支持:

文档截图

html

word

引入jar

生产代码


screw 官网介绍 

https://gitee.com/leshalv/screw#https://gitee.com/link?target=https://my.oschina.net/mdxlcj/blog/4341399

screw 的特点:

简洁、轻量、设计良好
多数据库支持
多种格式文档
灵活扩展
支持自定义模板


目前支持的数据库有:

MySQL
MariaDB
TIDB
Oracle
SqlServer
PostgreSQL
Cache DB(2016)


文档生成支持:

html
word
markdown

文档截图

html

word

引入jar

<!-- screw核心 --><dependency><groupId>cn.smallbun.screw</groupId><artifactId>screw-core</artifactId><version>1.0.5</version></dependency><!-- HikariCP --><dependency><groupId>com.zaxxer</groupId><artifactId>HikariCP</artifactId><version>3.4.5</version></dependency>

生产代码

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;public class DatebaseDocDemoApplicationTests {public static void main(String[] args) {HikariConfig hikariConfig = new HikariConfig();hikariConfig.setDriverClassName("org.postgresql.Driver");hikariConfig.setJdbcUrl("jdbc:postgresql://***********");hikariConfig.setUsername("***********");hikariConfig.setPassword("***********");// 设置可以获取remark信息hikariConfig.addDataSourceProperty("useInformationSchema","true");hikariConfig.setMinimumIdle(2);hikariConfig.setMaximumPoolSize(5);DataSource dataSource = new HikariDataSource(hikariConfig);// 生成配置EngineConfig engineConfig = EngineConfig.builder()// 生成文件路径.fileOutputDir("F:/Users/wuhanxue/Downloads")// 打开目录 设置为true执行完代码后会自动打开对应路径文件夹.openOutputDir(true)// 文件类型,支持三种类型
//                .fileType(EngineFileType.HTML).fileType(EngineFileType.MD)
//                .fileType(EngineFileType.WORD)// 生成模板实现.produceType(EngineTemplateType.freemarker).build();// 忽略表,这些表不会在文档中生成ArrayList<String> ignoreTableName = new ArrayList<>();ignoreTableName.add("test_xxx");// 忽略表前缀,这些表不会在文档中生成ArrayList<String> ignorePrefix = new ArrayList<>();ignorePrefix.add("test_");// 忽略表后缀,这些表不会在文档中生成ArrayList<String> ignoreSuffix = new ArrayList<>();ignoreSuffix.add("_test");ProcessConfig processConfig = ProcessConfig.builder()// 忽略表名.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();}}


http://www.ppmy.cn/news/1263340.html

相关文章

【wpf】handycontrol growl 打造一个比弹窗优雅10倍的信息通知方式

前言 话不多说&#xff0c;先上图&#xff1a; 这种弹框不会影响主进程的脚本&#xff0c;同时分为四个等级&#xff1a; 普通消息&#xff1a;Info &#xff08;时间一到&#xff0c;自动消失&#xff0c;除非鼠标停留上面&#xff09;警告&#xff1a; Warning &#xff0…

用stl写一个自动打分比赛的案例

我们要实现六名选手进行随机平均分为两组&#xff0c;先分别淘汰两组中的最后一名&#xff0c; 再决出第一名。 抽象选手 class player { public:string name;int score; }; 一个选手有名字和分数 首先我们需要vector容器保存选手的编号&#xff0c;便于后续的操作。 再用…

【Java】构建表达式二叉树和表达式二叉树求值

问题背景 1. 实现一个简单的计算器。通过键盘输入一个包含圆括号、加减乘除等符号组成的算术表达式字符串&#xff0c;输出该算术表达式的值。要求&#xff1a; &#xff08;1&#xff09;系统至少能实现加、减、乘、除等运算&#xff1b; &#xff08;2&#xff09;利用二叉…

【面试常考题目】五种方法解决“如何在n个无序数组中找出它的中位数(java)”问题

1.3 从N个数组中找到中位数&#xff0c;每一个数组可能乱序 在LeetCode上&#xff0c;"寻找多个数组的中位数"这类问题通常是由两个数组合并中位数问题&#xff08;即LeetCode第4题&#xff09;的变种或扩展。直接对应于多个数组合并后寻找中位数的题目在LeetCode上…

优化瑞芯微rk3566 tf卡速度uhs SDR104

环境 开发板&#xff1a;orangepi3B CPU:rk3566 TF卡速度标识&#xff1a;C10&#xff0c;U3&#xff0c;V30 起因 对于tf卡启动的系统来说&#xff0c;io会成为一个很关键的瓶颈&#xff0c;所以总希望系统能跑得快一点。我手头用的是一张金士顿的高性能tf卡&#xff0c;开…

Azure Machine Learning - 使用 Azure OpenAI 服务生成文本

使用 Azure OpenAI 服务生成文本 关注TechLead&#xff0c;分享AI全维度知识。作者拥有10年互联网服务架构、AI产品研发经验、团队管理经验&#xff0c;同济本复旦硕&#xff0c;复旦机器人智能实验室成员&#xff0c;阿里云认证的资深架构师&#xff0c;项目管理专业人士&…

uView框架的安装与Git管理

参考链接&#xff1a;Http请求 | uView - 多平台快速开发的UI框架 - uni-app UI框架 安装 打开我们项目的cmd进行下载&#xff1a; yarn add uview-ui 首先我们要确定&#xff0c;未下载前的文件目录以及下载后&#xff0c;是多了个文件目录node_modules 下载完成之后我们就…

麒麟v10 数据盘初始化 gpt分区

麒麟v10 数据盘初始化 gpt分区 1、查看磁盘 lsblk2 、分区 parted2.1、 设置磁盘分区形式2.2、 设置磁盘的计量单位为磁柱2.3、 分区2.4、 查看分区 3、分区格式化4、 挂载磁盘4.1、新建挂载目录4.2、挂载磁盘4.3、查看挂载结果 5、设置开机自动挂载磁盘分区5.1、 查询磁盘分区…