在企业级开发中、我们经常会有编写数据库表结构文档的时间付出,如果数据库表结构更新了还得手动更新维护到文档中,很是繁琐。GitHub 上发现了一个好工具 screw(螺丝钉),在此分享下

  • 1、引入依赖
<!-- 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>
<!-- mysql连接驱动 -->
<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.20</version><scope>runtime</scope>
</dependency>

核心 cn.smallbun.screw

  • 2、生成工具类
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 BuildDatabaseDoc {/*** 文档生成*/public static void main(String[] args) {// 数据源HikariConfig hikariConfig = new HikariConfig();// 数据库连接信息hikariConfig.setDriverClassName("com.mysql.cj.jdbc.Driver");hikariConfig.setJdbcUrl("jdbc:mysql://localhost:3306/walking?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=UTC");hikariConfig.setUsername("root");hikariConfig.setPassword("123456");// 设置可以获取tables remarks信息hikariConfig.addDataSourceProperty("useInformationSchema", "true");hikariConfig.setMinimumIdle(2);hikariConfig.setMaximumPoolSize(5);DataSource dataSource = new HikariDataSource(hikariConfig);// 生成配置EngineConfig engineConfig = EngineConfig.builder()// 生成文件路径.fileOutputDir("E:/")// 打开目录.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();}
}
  • 3、效果图预览

如您在阅读中发现不足,欢迎留言!!!

数据库设计文档生成工具类相关推荐

  1. 超好用的数据库设计文档生成工具

    原创声明:本文为作者(幻好)原创,可用做学习参考转载,但需注明出处.禁止未经允许用于商业等途径,否则后果自负! 前言概述 随着开发场景的复杂度越来越高,存储数据的数据库表也越来越多并不断的更新.在开发 ...

  2. 【MySQL】数据库设计文档生成

    MySQL数据库设计文档生成 文章目录 MySQL数据库设计文档生成 前言 0.全局浏览 1.引入依赖 2.启动类 3.配置文件 4.实现类 5.成品展示 前言 记录MySQL数据库设计文档生成,旨在 ...

  3. SCADE Display(OpenGL)软件设计文档生成工具的设计考虑

    SCADE Display(OpenGL)软件设计文档生成工具的设计考虑 2018年6月 1 引言 本文档描述在SCADE Display软件设计文档生成工具(以下简称为SDYSDDGEN)的设计过程 ...

  4. mysql chm 文档_最简单,最实用的数据库CHM文档生成工具——DBCHM

    推荐文章 1.SQLite: SELECT 'AA' || 'BB' || 'CC'; 2.MySQL: SELECT CONCAT('AA', 'BB', ' 推荐文章 QT += sql QSql ...

  5. postgre 生成数据库html文档_还在手动整理数据库文档?试试这个(螺丝钉)数据库文档生成工具...

    简介 在企业级开发中.我们经常会有编写数据库表结构文档的时间付出,从业以来,待过几家企业,关于数据库表结构文档状态:要么没有.要么有.但都是手写.后期运维开发,需要手动进行维护到文档中,很是繁琐.如果 ...

  6. 好用!一键生成数据库文档,这个开源的文档生成工具值得了解

    Gitee项目地址,可以直接去开源项目查看(推荐) https://gitee.com/leshalv/screw 简介 在企业级开发中.我们经常会有编写数据库表结构文档的时间付出,从业以来,待过几家 ...

  7. screw (螺丝钉) ~ 简洁好用的数据库表结构文档生成工具

    https://gitee.com/leshalv/screw 特点 简洁.轻量.设计良好 多数据库支持 多种格式文档 灵活扩展 支持自定义模板 数据库支持 MySQL MariaDB TIDB Or ...

  8. mysql自动生成数据库设计文档

    mysql生成数据库设计文档 引入jar包 <!-- screw核心 --> <dependency><groupId>cn.smallbun.screw</ ...

  9. SpringBoot 生成数据库设计文档工具

    1.在项目的pom.xml里加上以上代码,配置想要生成的数据库的信息 <build><plugins><plugin><groupId>org.spri ...

最新文章

  1. testNG安装一直失败解决方法
  2. CF908G New Year and Original Order
  3. 口语学习Day4:今天带你们一起逛一下博物馆
  4. 你离理想中的数据中心,只差这五步
  5. postgresql是如何求年龄的_Postgresql 通过出生日期获取年龄的操作
  6. plsql例外_大例外背后的真相
  7. nginx php 跨域访问权限,nginx + php 实现跨域请求填坑笔记
  8. ES6(一)——字面量的增强、解构、let/const、块级作用域、暂时性死区
  9. 案例 项目经理评分 c# 1613922661
  10. Jeff Dean谈2020年机器学习趋势:多任务和多模态会有大进展
  11. Netty工作笔记0073---Neety的出站和入站机制
  12. jsp中接收java的返回值_jsp中request的一些方法返回值
  13. Win10蓝牙鼠标老是断连卡顿的解决方法
  14. 试题10 最大子阵(枚举)
  15. 设计中最困难的部分是决定设计什么
  16. 【重点 递归构造二叉树】LeetCode 95. Unique Binary Search Trees II
  17. Ubuntu16.04安装编译pcl点云库
  18. 微软MED-V虚拟化实战教程之二映像准备和测试
  19. 190102每日一句
  20. 陈吉平的Oracle职业生涯:兴趣与思考 成败之所系

热门文章

  1. 详解自注意力机制及其在LSTM中的应用
  2. 小狈.搜集的一些photoshop 教程.软件.下载方法及相关网站 ps软件下载官方网站
  3. IDEA启动Web项目后,在Tomcat中的webapp文件夹下找不到?
  4. 《信息安全网站》之国内黑客
  5. Django 模型Model层2
  6. 如何查看MDAC版本?
  7. C#汇总练习题及步骤分解
  8. pc端网页唤起本地的咚咚和千牛
  9. 全国银行简码数据(JSON)
  10. 微软飞行模拟服务器,《微软飞行模拟》大型修复补丁即将上线