服务粉丝

我们一直在努力
当前位置:首页 > 财经 >

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

日期: 来源:TJ君收集编辑:TJ

大家好,我是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. 引入依赖:

<dependency>    <groupId>cn.smallbun.screw</groupId>    <artifactId>screw-core</artifactId>    <version>${lastVersion}</version> </dependency>

2. 添加代码:

/** * 文档生成 */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、好用、有趣的东东


相关阅读

  • ChatGPT for Google :将 ChatGPT 整合到搜索引擎

  • 大家好,我是TJ一个励志推荐10000款开源项目与工具的程序员ChatGPT for Google 浏览器插件,在搜索引擎结果页面右侧显示 ChatGPT 的回答。支持 Chrome, Edge 和 Firefox 等主流
  • “是时候为开源做贡献了” | Linux 中国

  • 导读:为开源做出贡献本身就是一种有意义的事。但是它需要人们的投入和奉献,而这个过程涉及许多步骤,从选择项目到确保你的贡献成果获得关注。本文字数:4424,阅读时长大约:7分钟Ni
  • 语雀的孵化、成长与飞行

  • 语雀从一个面向内部程序员的文档工具,到一个对外的商业化产品,一步步构建了结构化的文档组织能力。发展到现如今语雀经历了四个里程碑,从在线文档、文档库、支持 Markdown 的富
  • 当群聊从协作的枢纽变成界面

  • 先看几个碎片的观察:其一,小红书 2021 年底就上线过群聊功能。这个功能迅速成为很多小红书运营教程里的标配,要用「私域」把粉丝群体留住。我自己就在一个黑胶交流的小红书群里
  • 盘点最近 火火火火 的 GitHub 项目

  • 本期推荐开源项目目录:1. 文章同步插件2. 读书笔记插件3. 在线简历排版工具4. 表情包生成器5. 开源的在线文档01文章同步插件还在为一次编辑,N 个平台需多次排版上传脑壳疼吧?
  • 推荐 1 月份 yyds 的开源项目

  • 本期推荐开源项目目录:1. 基于 Radix UI 的精美组件2. 命令行的艺术3. 两个黑客工具多合一工具包一种集成的黑客工具4. 使用 React 构建和发送电子邮件5. 中国独立开发者项
  • 推荐 7 个 yyds 的开源项目

  • 本期推荐开源项目目录:1. App ideas2. 中国程序员容易发音错误的单词3. 全新的构建 Web 界面的方法4. Vite & Vue 支持的静态站点生成器。5. 视频制作机器人6. 50 天 50 个
  • 推荐 5 个实用 GitHub 项目

  • 本期推荐开源项目目录:1. AI-For-Beginners2. 一个小巧轻便的 PDF 阅读器3. 开源的智能手表4. 开源内容管理系统5. 程序员海外工作/英文面试手册01AI-For-Beginners之前推荐
  • 微软开源的 5 个 yyds 课程!

  • 微软在 GitHub 开源了五大课程,面向计算机专业或者入门编程的同学。分别是 Web 开发课程、机器学习课程、物联网课程、数据分析课程、Bash 课程。01为初学者准备的 Web开发课
  • ChatGPT 也太火了吧 ...

  • 最近 ChatGPT 太火了,微信指数 ChatGPT 关键词飙升。GitHub 上也不例外,最近热门项目都是 ChatGPT 项目。后续会陆续更新 ChatGPT 好玩的开源项目,本期是本周登上热榜的 Repo,请

热门文章

  • “复活”半年后 京东拍拍二手杀入公益事业

  • 京东拍拍二手“复活”半年后,杀入公益事业,试图让企业捐的赠品、家庭闲置品变成实实在在的“爱心”。 把“闲置品”变爱心 6月12日,“益心一益·守护梦想每一步”2018年四

最新文章

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

  • 大家好,我是TJ一个励志推荐10000款开源项目与工具的程序员大家后,我是TJ不知道你是否跟我一样,每天除了写代码之外,还要写不少文档。目前已经有不少工具帮助我们减少工作量,比如
  • 推荐一个比 Redis 性能更强的数据库!

  • 大家好,我是TJ一个励志推荐10000款开源项目与工具的程序员大家好,我是TJ!今天给大家推荐一个比Redis性能更强的数据:KeyDBKeyDB是Redis的高性能分支,侧重于多线程、内存效率和高
  • ChatGPT for Google :将 ChatGPT 整合到搜索引擎

  • 大家好,我是TJ一个励志推荐10000款开源项目与工具的程序员ChatGPT for Google 浏览器插件,在搜索引擎结果页面右侧显示 ChatGPT 的回答。支持 Chrome, Edge 和 Firefox 等主流
  • 西门吹雪实盘周报20230212

  • 点击上方『西门吹雪实盘』可关注并“星标”本号。文章仅记录西门个人投资思考和交易,不构成投资建议,作者不收费荐股、不代客理财。“这是西门吹雪的第411篇原创文章”前言本
  • 洋河股份招股书笔记

  • 前言上周学习完古井贡酒的招股书后,本周学习洋河股份的招股说明书。古井招股书学习笔记|古井贡酒AB股详细对比分析不看不知道,一看吓一跳,招股说明书竟然有洋洋洒洒的295页。遂