如何生成数据库设计文档

article/2025/9/12 17:00:29

如何生成数据库设计文档

  • screw
    • 什么是screw
    • 特点
    • 支持生成的文档类型
    • 目前支持的数据库类型
    • 支持的模板类型
  • 如何使用?
  • 遇到的问题

screw

官网地址:

https://gitee.com/leshalv/screw/

什么是screw

screw是简洁好用的数据库表结构文档生成工具。

特点

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

支持生成的文档类型

  • html
  • word
  • markdown

目前支持的数据库类型

MySQL
MariaDB
TIDB
Oracle
SqlServer
PostgreSQL
Cache DB(2016)

支持的模板类型

  • freemarker
  • velocity

如何使用?

  • 引入maven依赖
 <dependency><groupId>cn.smallbun.screw</groupId><artifactId>screw-core</artifactId><version>1.0.3</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.security.MessageDigest;
import java.util.Arrays;
import java.util.List;
import java.util.Random;public class Test {public static void main(String[] args) {// 数据源HikariConfig hikariConfig = new HikariConfig();hikariConfig.setDriverClassName("com.mysql.cj.jdbc.Driver");hikariConfig.setJdbcUrl("jdbc:mysql://192.168.200.222:3306/bjs?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=false&allowPublicKeyRetrieval=true");hikariConfig.setUsername("root");hikariConfig.setPassword("root");// 设置可以获取tables remarks信息hikariConfig.addDataSourceProperty("useInformationSchema", "true");hikariConfig.setMinimumIdle(2);hikariConfig.setMaximumPoolSize(5);DataSource dataSource = new HikariDataSource(hikariConfig);// 1、生成文件配置EngineConfig engineConfig = EngineConfig.builder()// 生成文件路径.fileOutputDir("E:\\北交所")// 打开目录.openOutputDir(false)// 文件类型.fileType(EngineFileType.HTML)// 生成模板实现.produceType(EngineTemplateType.freemarker).build();// 忽略表名List<String> ignoreTableName = Arrays.asList("test");// 忽略表前缀List<String> ignorePrefix = Arrays.asList("test_", "test");// 忽略表后缀List<String> ignoreSuffix = Arrays.asList("_test", "test");// 2、配置想要忽略的表ProcessConfig processConfig = ProcessConfig.builder().ignoreTableName(ignoreTableName).ignoreTablePrefix(ignorePrefix).ignoreTableSuffix(ignoreSuffix).build();// 3、生成文档配置(包含以下自定义版本号、描述等配置连接)Configuration config = Configuration.builder().version("1.0.0").description("数据库文档").dataSource(dataSource).engineConfig(engineConfig).produceConfig(processConfig).build();// 4、执行生成new DocumentationExecute(config).execute();}}
  • 生成文档(我生成的是Html,以下是截图)
    在这里插入图片描述
    在这里插入图片描述

遇到的问题

运行测试类,报下图的错误,错误信息是Jar包冲突,依赖screw后与项目原来依赖的jar包冲突了。
在这里插入图片描述
解决办法:排除冲突的依赖

		<!-- screw核心 --><dependency><groupId>cn.smallbun.screw</groupId><artifactId>screw-core</artifactId><version>1.0.3</version><exclusions><exclusion><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId></exclusion></exclusions></dependency>

http://chatgpt.dhexx.cn/article/NS6sYE0l.shtml

相关文章

数据库设计说明书的编写

G.1 引言 G.1.1 编写目的 数据库的表结构设计是整个项目开发中一个非常重要的环节,一个良好的数据库设计&#xff0c;可以提高开发效率&#xff0c;方便系统维护&#xff0c;并且为以后项目功能的扩展留下余地。我们通过书写这份文档说明&#xff0c;从各方面进行对校园地图的…

PowerDesigner生成数据库设计文档

1.说明 使用PowerDesigner设计数据库表&#xff0c; 基于PowerDesigner设计数据库表, 生成数据库对应的表设计文档&#xff0c; PowerDesigner支持生成HTML、RTF和本地格式的文档&#xff0c; 下面演示生成RTF格式的文档&#xff0c; 然后把RTF文档保存为常见的Word文档格式。 …

数据库设计文档自动生成

1、拉取代码 该项目上使用了jdk17版本&#xff0c;需要maven环境。如果都有&#xff0c;通过git进行下载代码 #git下载代码命令 git clone https://gitee.com/giteeLinht/db-doc.git2、初始化项目并运行 1、打开idea&#xff0c;导入项目直接运行com.cn.db.dbdoc.DbDocApplic…

Java自动生成数据库设计文档(Word)

一、前言 在日常的开发工作中&#xff0c;偶尔会遇到项目收尾需要提供数据库设计文档的情况。对这个文档的编写目前应该已经基本没有问题了&#xff0c;如果你还不知道如何编写该文档&#xff0c;可以参考如下文章。 https://blog.csdn.net/qq_41057885/article/details/114436…

【资源分享】基于Spark的机器学习-智能客户系统项目实战视频教程

承诺&#xff1a;【不加密&#xff0c;不收费】 一、 课程介绍 1、项目介绍以及在本课程中能学到什么东西、如何应用到实际项目中 2、scala和IDE的安装以及使用以及maven插件的安装 3、Centos环境准备&#xff08;java环境、hosts配置、防火墙关闭&#xff09; 4、scala基…

2-1、特征:特征选择、特征预处理(缩放)、特征抽取、特征构造

目录 特征重要性一、特征选择1、Filter方法&#xff08;过滤式&#xff09;1-1 剔除缺失值过多的变量1-2 方差变化1-3 相关系数&#xff08;Correlation coefficient scores&#xff09;1-4卡方检验&#xff08;Chi-squared Test&#xff09;1-5 信息增益&#xff08;Informati…

Windows下使用Word2vec继续词向量训练

word2vec是Google在2013年提出的一款开源工具&#xff0c;其是一个Deep Learning(深度学习)模型&#xff08;实际上该模型层次较浅&#xff0c;严格上还不能算是深层模型&#xff0c;如果word2vec上层再套一层与具体应用相关的输出层&#xff0c;如Softmax&#xff0c;便更像是…

python spark MLlib

window系统 1. anaconda 或python spark环境变量 2. 配置spark home D:\Develop\spark-1.6.0-bin-hadoop2.6\spark-1.6.0-bin-hadoop2.63. C:\Users\Administrator>pip install py4jpython for java cpython c 与java交互就是通过py4jpip uninstall py4j4. 安装pyspark &a…

数据中台建设方案-基于大数据平台

数据中台建设方案 -基于大数据平台- 1数据中台建设方案 1.1 总体建设方案 1.2大数据集成平台 1.3大数据计算平台 1.3.1数据计算层建设 计算层技术含量最高,最为活跃,发展也最为迅速。计算层主要实现各类数据的加工、处理和计算,为上层应用提供良好和充分的数据支持。大数据基…

2021-03-04 大数据课程笔记 day43

R星校长 机器学习03【机器学习】 主要内容 数字聚类案例TF-IDF算法微博营销案例逻辑回归算法音乐分类案例 学习目标 第一节 数字聚类案例 1. K-means 找中心点和数据点分类例子 import numpy as np #将每行数据放入一个数组内列表&#xff0c;返回一个二维列表 def loa…

文本挖掘之文本聚类(MapReduce)

刘 勇 Email&#xff1a;lyssymsina.com 简介 针对大数量的文本数据&#xff0c;采用单线程处理时&#xff0c;一方面消耗较长处理时间&#xff0c;另一方面对大量数据的I/O操作也会消耗较长处理时间&#xff0c;同时对内存空间的消耗也是很大&#xff0c;因此&#xff0c;本文…

solr 自聚类实现

参考官网&#xff1a;https://lucene.apache.org/solr/guide/6_6/result-clustering.html 最近用到solr自聚类的&#xff0c;先简单介绍如下&#xff1a; 1、配置文件 主要配置文件必须配置如下内容&#xff1a; <lib dir"${solr.install.dir:../../..}/contrib/cluste…

《学术小白的学习之路 06》自然语言处理之 数据预处理、Jieba分词和文本聚类

本文主要是学习参考杨秀璋老师的博客,笔记总结。 原文链接 文章目录 书山有路勤为径&#xff0c;学海无涯苦作舟&#xff08;行行代码要手敲&#xff09;零、吃水不忘挖井人一、数据预处理&#xff08;分词-清洗-特征提取-权重&#xff09;二、中文分词2.1 中文分词技术2.2 Jie…

kmeans实现文本聚类

需求 拿到的需求是输入n个文本,对文本进行聚类,由于这些输入不能通过历史数据进行训练,所以这个主要就是用无监督学习来解决。 kmeans 谈到聚类就会想到kmeans,它的核心思想是给定的K值和K个初始质心将样本中每个点都分到距离最近的类簇中,当所有点分配完后根据每个类簇的…

PS放大图片而不模糊的操作方法

1、使用ps打开图片&#xff08;原始图片200*200&#xff09;&#xff0c;正常情况下ctrl “” 放大图片&#xff0c;图片会变模糊&#xff0c;如下&#xff1a; 原始图片&#xff1a; 放大之后&#xff1a; 明显模糊了。 2、右键图层&#xff0c;选择复制图层…

使用PS制作放大镜效果

&#xff08;撰写时间&#xff1a;2019年5月7日 作者&#xff1a;陈景鸿&#xff09; PS的的放大镜也就是将模糊的东西能够看得清楚&#xff0c;也是一款神奇的东西&#xff0c;制作放大镜有两种效果&#xff0c;一种是将图片发大&#xff0c;一种是将图片变得清晰&#xff0c…

使用PS中的创建剪贴蒙版来做放大镜

使用PS中的创建剪贴蒙版来做放大镜 &#xff08;写作时间&#xff1a;4月15日 作者&#xff1a;陈铭军&#xff09; 首先随便找一张建筑物照片导入PS&#xff0c;其他照片也可以做。 然后“Ctrl”“J”或者鼠标右键点击背景图层复制两次。激活背景副本&#xff0c;在上方的菜…

ps一些基本操作

调整图片、图层大小 点击矩形 画出需要缩小/放大的矩形框ctrlt&#xff0c;缩小/放大矩形框点击图像—画布大小&#xff0c;修改画布大小

ps基础 工作区面板 放大镜 抓手 移动工具

20191110笔记 ps 又叫做编辑软件又称为 编辑对象:像素图 点阵图 位图 ps基础-设置工作区 工作区 是设计师在使用ps时自定义的工作面板组合,方便提升工作效率 工具栏 选项栏 色板 历史纪录 颜色 图层 ps基础-图片的放大 缩小 切换 移动 放大镜 ctrl 放大镜 ctrl-…