Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >数据库表结构文档也可以自动生成啦!

数据库表结构文档也可以自动生成啦!

作者头像
程序猿DD
发布于 2023-02-24 07:14:35
发布于 2023-02-24 07:14:35
1.2K00
代码可运行
举报
文章被收录于专栏:程序猿DD程序猿DD
运行总次数:0
代码可运行

大家好,我是TJ

一个励志推荐10000款开源项目与工具的程序员

大家后,我是TJ

不知道你是否跟我一样,每天除了写代码之外,还要写不少文档。目前已经有不少工具帮助我们减少工作量,比如使用Swagger自动生成API文档,那么你的数据库表结构文档是不是还在手写呢?

今天给大家推荐的就是一个提高效率的自动生成神器:Screw

关于这个工具的名字,也是很有意思,作者说从小就学过雷锋的螺丝钉精神,摘自雷锋日记:虽然是细小的螺丝钉,是个细微的小齿轮,然而如果缺了它,那整个的机器就无法运转了,慢说是缺了它,即使是一枚小螺丝钉没拧紧,一个小齿轮略有破损,也要使机器的运转发生故障的...,感觉自己写的这个工具,很有这意味,虽然很小、但是开发中缺了它还不行,于是便起名为Screw(螺丝钉)。

目前Screw已经支持大部分我们日常使用的数据库,包括:

  •  MySQL
  •  MariaDB
  •  TIDB
  •  Oracle
  •  SqlServer
  •  PostgreSQL
  •  Cache DB(2016)
  •  H2 (开发中)
  •  DB2 (开发中)
  •  HSQL (开发中)
  •  SQLite(开发中)
  •  瀚高(开发中)
  •  达梦 (开发中)
  •  虚谷 (开发中)
  •  人大金仓(开发中)

而生成的文档包含这些格式:

  •  html
  •  word
  •  markdown

最后生成效果如下:

这么好用的工具是不是使用起来很复杂呢?一点也不!

你只需要下面几步:

1. 引入依赖:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<dependency>    <groupId>cn.smallbun.screw</groupId>    <artifactId>screw-core</artifactId>    <version>${lastVersion}</version> </dependency>

2. 添加代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/** * 文档生成 */void documentGeneration() {   //数据源   HikariConfig hikariConfig = new HikariConfig();   hikariConfig.setDriverClassName("com.mysql.cj.jdbc.Driver");   hikariConfig.setJdbcUrl("jdbc:mysql://127.0.0.1:3306/database");   hikariConfig.setUsername("root");   hikariConfig.setPassword("password");   //设置可以获取tables remarks信息   hikariConfig.addDataSourceProperty("useInformationSchema", "true");   hikariConfig.setMinimumIdle(2);   hikariConfig.setMaximumPoolSize(5);   DataSource dataSource = new HikariDataSource(hikariConfig);   //生成配置   EngineConfig engineConfig = EngineConfig.builder()         //生成文件路径         .fileOutputDir(fileOutputDir)         //打开目录         .openOutputDir(true)         //文件类型         .fileType(EngineFileType.HTML)         //生成模板实现         .produceType(EngineTemplateType.freemarker)         //自定义文件名称         .fileName("自定义文件名称").build();
   //忽略表   ArrayList<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();}

不知道这个项目是否可以帮助你提高效率饿呢?如果可以的话,记得点赞、关注、分享到朋友圈哦~

项目地址:https://gitee.com/leshalv/screw

往期推荐

点击下方卡片,关注公众号“TJ君

每天了解一个牛x、好用、有趣的东东

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-02-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序猿DD 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
数据库结构文档的生成利器
之前我们每次的数据库变更,都会增量更新我们的数据库文档,如下所示,便于从文档中了解数据库结构,
bisal
2021/09/06
6180
数据库结构文档的生成利器
数据库结构文档的生成利器
之前我们每次的数据库变更,都会增量更新我们的数据库文档,如下所示,便于从文档中了解数据库结构,
bisal
2020/10/30
7690
数据库结构文档的生成利器
超给力,一键生成数据库文档-数据库表结构逆向工程
数据库文档是我们在企业项目开发中需要交付的文档,通常需要开发人员去手工编写。编写完成后,数据库发生变更又需要手动的进行修改,从而浪费了大量的人力。并且这种文档并没有什么技术含量,被安排做这个工作的程序员往往自己心里会有抵触情绪,悲观的预期自己在团队的位置,造成离职也是可能的。如下面的这种文档的内容:
字母哥博客
2020/09/23
7370
超给力,一键生成数据库文档-数据库表结构逆向工程
一键生成数据库文档,堪称数据库界的Swagger
一般情况下,我们都是手动整理数据库表结构文档,当表结构有变动的时候,自己手动进行维护。
Guide哥
2021/08/24
5.1K0
还在手动整理数据库文档?试试这个工具
在企业级开发中、我们经常会有编写数据库表结构文档的时间付出,从业以来,待过几家企业,关于数据库表结构文档状态:要么没有、要么有、但都是手写、后期运维开发,需要手动进行维护到文档中,很是繁琐、如果忘记一次维护、就会给以后工作造成很多困扰、无形中制造了很多坑留给自己和后人,于是需要一个插件工具screw[1]来维护。
用户4172423
2020/07/16
4580
还在手动整理数据库文档?试试这个工具
screw 再升级,备份你的数据库,直接帮你写好的代码还不拿走!!!
数据库开发流程一般是先在power design 中新建表结构(因为pd其他部门要看的),然后拷贝生成的DDL建表语句,在数据库中执行,然后才算创建了一张表。这样的工作流程中间有一些问题。
香菜聊游戏
2021/05/26
3240
screw 再升级,备份你的数据库,直接帮你写好的代码还不拿走!!!
实用!一键生成数据库文档,堪称数据库界的Swagger
最近部门订单业务调整,收拢其他业务线的下单入口,做个统一大订单平台。需要梳理各业务线的数据表,但每个业务线库都有近百张和订单相关的表,挨个表一个一个字段的弄脑瓜子嗡嗡的。
程序员小富
2020/08/03
6210
实用!一键生成数据库文档,堪称数据库界的Swagger
最近部门订单业务调整,收拢其他业务线的下单入口,做个统一大订单平台。需要梳理各业务线的数据表,但每个业务线库都有近百张和订单相关的表,挨个表一个一个字段的弄脑瓜子嗡嗡的。
程序员小富
2020/08/04
7940
实用!一键生成数据库文档,堪称数据库界的Swagger
一键生成数据库文档大利器!安利 ~
点击上方蓝色字体,选择“设为星标” 回复”学习资料“获取学习宝典 简介 在企业级开发中、我们经常会有编写数据库表结构文档的时间付出,从业以来,待过几家企业,关于数据库表结构文档状态:要么没有、要么有、但都是手写、后期运维开发,需要手动进行维护到文档中,很是繁琐、如果忘记一次维护、就会给以后工作造成很多困扰、无形中制造了很多坑留给自己和后人,于是萌生了要自己写一个插件工具的想法。 但由于自己前期在程序设计上没有很多造诣,且能力偏低,有想法并不能很好实现,随着工作阅历的增加,和知识的不断储备,终于在2020
猿天地
2022/03/30
6020
3k Star国产开源简洁好用的数据库表结构文档生成工具,支持多种主流数据库
简介 在企业级开发中、我们经常会有编写数据库表结构文档的时间付出,从业以来,待过几家企业,关于数据库表结构文档状态:要么没有、要么有、但都是手写、后期运维开发,需要手动进行维护到文档中,很是繁琐、如果忘记一次维护、就会给以后工作造成很多困扰、无形中制造了很多坑留给自己和后人,于是萌生了要自己写一个插件工具的想法。 关于名字,想一个太难了,好在我这个聪明的小脑瓜灵感一现,怎么突出它的小,但重要呢?从小就学过雷锋的螺丝钉精神,摘自雷锋日记:虽然是细小的螺丝钉,是个细微的小齿轮,然而如果缺了它,那整个的机器就无法
开源日记
2023/03/10
3890
3k Star国产开源简洁好用的数据库表结构文档生成工具,支持多种主流数据库
数据库界的Swagger:一键生成数据库文档!你不了解一下?
对于API的文档,我们有Swagger等工具来自动生成了。但有有一类文档还是常常困扰着我们,那就是数据库表结构的文档。相信很多同学都有过手写数据库表结构文档 的经历吧?常规操作就是一通无脑的 CV 大法,产出一份小几十页的 Word 文档。 那么,是否有什么工具,可以帮我们偷懒高效的自动 生成数据库表结构文档呢? 还真有!下面就来介绍这样一个工具:screw! 2. screw 简介 screw 是一个简洁好用的数据库表结构文档的生成工具 ,支持 MySQL、Oracle、PostgreSQL 等主流的关系
程序猿DD
2023/04/04
1.3K0
数据库界的Swagger:一键生成数据库文档!你不了解一下?
数据库文档生成工具- screw
在企业级开发中、我们经常会有编写数据库表结构文档的时间付出,从业以来,待过几家企业,关于数据库表结构文档状态:要么没有、要么有、但都是手写、后期运维开发,需要手动进行维护到文档中,很是繁琐、如果忘记一次维护、就会给以后工作造成很多困扰、无形中制造了很多坑留给自己和后人,于是需要一个插件工具 screw 来维护。
Remember_Ray
2020/09/15
1.4K0
数据库文档生成工具- screw
MYSQL数据库文档生成器
    平常会遇到编写文档类的工作,尤其是数据库的,要把每张表的详细字段列出来,手写实在费劲,从网上找了很多,都没有那种直接GUI输入参数,一键生成的,所以自己花时间做了一个,功能很简陋,但是基本需求可以实现。
尚浩宇
2023/04/01
4.7K0
MYSQL数据库文档生成器
重学Springboot系列之整合数据库开发框架---下
双数据源配置。删掉原有其他的数据库连接配置.两个数据源的名称分别是:primary和secondary。分别访问testdb和testdb2数据库。另外注意:驱动类是MysqlXADataSource(支持分布式事务),而不是MysqlDataSource。
大忽悠爱学习
2021/12/07
4820
重学Springboot系列之整合数据库开发框架---下
screw数据库开发文档
代码生成方式也非常简单。↓↓↓help me click open AD,thanks!!
java后端指南
2021/05/13
7660
screw数据库开发文档
还在手写数据库设计文档?java一键生成
【摘要】 前言:以前我们还需要手写数据库设计文档、现在可以通过引入screw核心包来实现Java 数据库文档一键生成。话不多说、直接上代码演示。支持的数据库列表:MySQLMariaDBTIDBOracleSqlServerPostgreSQL这些主流的数据库都支持的。实现步骤:引入 pom.xml核心配置screw包 <dependency> <groupId>cn.smallbun...
玖柒的小窝
2021/12/17
5470
还在手写数据库设计文档?java一键生成
数据库界的 Swagger,一键自动生成 Java 实体类和数据库文档!不讲武德!
点击上方“芋道源码”,选择“设为星标” 管她前浪,还是后浪? 能浪的浪,才是好浪! 每天 8:55 更新文章,每天掉亿点点头发... 源码精品专栏 原创 | Java 2020 超神之路,很肝~ 中文详细注释的开源项目 RPC 框架 Dubbo 源码解析 网络应用框架 Netty 源码解析 消息中间件 RocketMQ 源码解析 数据库中间件 Sharding-JDBC 和 MyCAT 源码解析 作业调度中间件 Elastic-Job 源码解析 分布式事务中间件 TCC-Transacti
芋道源码
2020/12/18
1.3K0
数据库界的 Swagger,一键自动生成 Java 实体类和数据库文档!不讲武德!
还在手动整理数据库文档?试试这个工具
在企业级开发中、我们经常会有编写数据库表结构文档的时间付出,从业以来,待过几家企业,关于数据库表结构文档状态:要么没有、要么有、但都是手写、后期运维开发,需要手动进行维护到文档中,很是繁琐、如果忘记一次维护、就会给以后工作造成很多困扰、无形中制造了很多坑留给自己和后人,于是萌生了要自己写一个插件工具的想法,但由于自己前期在程序设计上没有很多造诣,且能力偏低,有想法并不能很好实现,随着工作阅历的增加,和知识的不断储备,终于在 2020 年的 3 月中旬开始进行编写,4 月上旬完成初版,想完善差不多在开源,但由于工作太忙,业余时间不足,没有在进行完善,到了 6 月份由于工作原因、频繁设计和更改数据库、经常使用自己写的此插件、节省了很多时间,解决了很多问题 ,在仅有且不多的业余时间中、进行开源准备,于 2020 年 6 月 22 日,开源,欢迎大家使用、建议、并贡献。
冷冷
2020/08/10
4220
自动生成实体类,哪个最佳?
看过松哥视频的小伙伴都知道,我个人习惯用一个名叫 MyBatis Generator 的逆向工具,利用这个工具我们自动生成实体类和 mapper 接口以及对应的 xml 文件,MyBatis Generator 是一个独立工具,你可以下载它的 jar 包来运行、也可以在 Ant 或者 maven 中配置插件运行。 大家在松哥公众号后台回复 mybatis-gen 有这个工具的下载链接。 虽然我一直用这个工具,但是总感觉它太有年代感了,用久了有点腻。所以很多时候看到公众号里有人推荐其他的 MyBatis 逆向
江南一点雨
2022/04/14
9210
自动生成实体类,哪个最佳?
Word报告自动生成(例如 导出数据库结构)
        将很早之前写的一个小组件重新整理优化一下,做成一个通用的功能。适用于导出数据库的结构(表、字段等)到Word或将体检数据自动生成Word版的体检报告等。代码:Github
FlyLolo
2018/12/13
3.6K0
Word报告自动生成(例如 导出数据库结构)
推荐阅读
相关推荐
数据库结构文档的生成利器
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验