目录

screw 数据库表结构文档生成快速入门


screw 数据库表结构文档生成快速入门

1、screw (螺丝钉) 英:[skruː] ~ 简洁好用的数据库表结构文档生成工具

2、详细介绍参考官网:https://gitee.com/leshalv/screw

3、使用非常简单,直接从官网复制源码即可使用。需要注意的是:screw 1.0.5 版本时,cn.smallbun.screw.core.query.AbstractDatabaseQuery.getSchema 中会强转 DataSource 为 HikariDataSource,所以只支持 HikariDataSource 数据源。(Spring boot 默认 HikariCP 作为数据源.)

4、添加 screw  依赖:

        <!--数据库文档生成工具--><!-- https://mvnrepository.com/artifact/cn.smallbun.screw/screw-core --><dependency><groupId>cn.smallbun.screw</groupId><artifactId>screw-core</artifactId><version>1.0.5</version></dependency>

https://gitee.com/wangmx1993/jpa-transactional/blob/master/pom.xml

5、编写测试类或者访问接口生成数据库表文档,如果是需要对远程服务器上的数据库生成文档,则还需要在下面的基础上,将生成的文档文件做一个下载功能。

/** screw (螺丝钉) 英:[skruː] ~ 简洁好用的数据库表结构文档生成工具* @author wangMaoXiong* @version 1.0* @date 2022/5/22 10:35*/
@RestController
public class DocGeneration {@Resourceprivate DataSource dataSource;@Resourceprivate JdbcTemplate jdbcTemplate;/*** http://localhost:8080/doc/generation* 数据库表结构文档生成工具*/@GetMapping("doc/generation")public String documentGeneration() {// 获取桌面目录作为文档存放目录, 指定生成的文件名称File homeDirectory = FileSystemView.getFileSystemView().getHomeDirectory();String fileName = "数据库设计文档";// 生成的文件类型:HTML-> .html,WORD-> .doc、MD-> .mdEngineFileType fileType = EngineFileType.HTML;// 数据源也可以从 Spring 容器中获取,或者通过 jdbcTemplate 获取.// screw 1.0.5 版本时, cn.smallbun.screw.core.query.AbstractDatabaseQuery.getSchema 中会强转为 HikariDataSource// 所以只支持 HikariDataSource 数据源(Spring boot 默认 HikariCP 作为数据源.)HikariConfig hikariConfig = new HikariConfig();hikariConfig.setDriverClassName("com.mysql.cj.jdbc.Driver");hikariConfig.setJdbcUrl("jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8&serverTimezone=UTC");hikariConfig.setUsername("root");hikariConfig.setPassword("root");// 设置可以获取tables remarks信息hikariConfig.addDataSourceProperty("useInformationSchema", "true");hikariConfig.setMinimumIdle(2);hikariConfig.setMaximumPoolSize(5);DataSource dataSource = new HikariDataSource(hikariConfig);// 文件生成配置EngineConfig engineConfig = EngineConfig.builder()// 生成文件存放的目录.fileOutputDir(homeDirectory.getAbsolutePath())// 生成完成是否打开输出目录.openOutputDir(true)// 生成文件类型:HTML-> .html,WORD-> .doc、MD-> .md.fileType(fileType)// 生成模板实现.produceType(EngineTemplateType.freemarker)// 自定义文件名称.fileName(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");ignoreSuffix.add("_backup");// 数据处理配置ProcessConfig processConfig = ProcessConfig.builder()// 指定生成逻辑、当存在指定表、指定表前缀、指定表后缀时,将生成指定表,其余表不生成、并跳过忽略表配置// 根据名称指定表生成.designatedTableName(new ArrayList<>())// 根据表前缀生成.designatedTablePrefix(new ArrayList<>())// 根据表后缀生成.designatedTableSuffix(new ArrayList<>())// 忽略指定名称的表.ignoreTableName(ignoreTableName)// 忽略指定名称前缀的表.ignoreTablePrefix(ignorePrefix)// 忽略指定名称后缀的表.ignoreTableSuffix(ignoreSuffix).build();// Screw 配置入口Configuration config = Configuration.builder()// 版本.version("1.0.0")// 描述.description("数据库设计文档生成")// 数据源(可以自己单独配置,也可以直接从应用中获取).dataSource(dataSource)// 文档生成配置.engineConfig(engineConfig)// 数据处理配置.produceConfig(processConfig).build();// 执行生成文档new DocumentationExecute(config).execute();// 文档文件全路径, 如 E:\桌面\数据库设计文档.htmlString fullPath = homeDirectory + File.separator + fileName + fileType.getFileSuffix();return fullPath;}
}

https://gitee.com/wangmx1993/jpa-transactional/blob/master/src/main/java/com/wmx/controller/DocGeneration.java

数据库表结构文档生成工具-screw (螺丝钉)相关推荐

  1. 简洁好用的数据库表结构文档生成工具!

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

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

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

  3. screw (螺丝钉) 数据库表结构文档生成工具(转发)

    转发自:https://blog.csdn.net/minkeyto/article/details/107358209

  4. Java实现生成数据库表结构文档(生成工具screw的使用)

    目录 一.screw介绍 1.简介 2.特点 3.文档格式 二.生成方式 2.1 方式1:使用 Java 代码 2.1.1 引入依赖 2.1.2 编写代码 2.1.3 测试 2.2 方式2:使用 Sp ...

  5. 【工具篇】利用DBExportDoc V1.0 For MySQL自动生成数据库表结构文档(转

    对于DBA或开发来说,如何规范化你的数据库表结构文档是灰常之重要的一件事情.但是当你的库,你的表排山倒海滴多的时候,你就会很头疼了. 推荐一款工具DBExportDoc V1.0 For MySQL( ...

  6. 开源数据库表结构文档生成器

    大家好,我是TJ 一个励志推荐10000款开源项目与工具的程序员 TJ君前几天和一个在银行科技部上班的同学聚会,同学跟TJ君吐槽,一些小银行的科技表面看上去专业,实际各种马虎不负责. 打个比方,有一次 ...

  7. 导出mysql数据库表结构文档

    导出文档示例: 说明,文档是基poi工具来生成的(主要是依赖与数据库名正确的话可以直接运行) 一.需要的依赖 <dependency><groupId>org.apache.p ...

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

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

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

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

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

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

最新文章

  1. ULC2003达林顿管阵列STC8K28驱动电路模块
  2. python numpy指定列最大值,统计次数
  3. netstat获取本机监听的地址列表 —— *awk与splite命令实现*(sudo netstat -nl | grep tcp……)
  4. vs2010 利用DMP文件、pdb文件查找release下的异常行号的方法
  5. MyBatis Plus——分页插件【PaginationInnerInterceptor】
  6. C语言学习趣事_你不知道的C语言应用
  7. 第二季4:HI_S32 SAMPLE_VENC_1080P_CLASSIC(HI_VOID)函数的分析
  8. 卡在linuxctrld进系统_电脑系统出现问题怎么办?学会这七招,电脑系统问题不求人!...
  9. php提前输出响应及注意问题
  10. acrobat xi pro 简体中文语言支持包_出图利器佳能PRO-541S绘图仪现货报价-佳能 PRO-541S_西安大幅面打印机行情...
  11. svm理论与实验之1
  12. VC Dimension -衡量模型与样本的复杂度
  13. [Linux] linux命令总结之dig命令
  14. python爬取守望先锋英雄图片以及描述
  15. 黑马程序员---继承(下)
  16. php 并列排名,MySQL并列排名和顺序排名查询
  17. copypng emitted errors
  18. 让人又爱又恨的C语言!
  19. smbclient访问海康威视H90个人网盘
  20. 淘宝/天猫获取卖出的商品订单列表API接口,店铺订单API接口,店铺订单详情API接口

热门文章

  1. oppo广告推广分为哪些版块?oppo广告投放的优势有哪些?
  2. python input隐藏输入_python输入input
  3. 介绍兴趣爱好的网页html,介绍兴趣爱好的作文5篇
  4. 2017初二上期中考试总结
  5. Intellj Idea关闭自动更新
  6. DSP 增强型脉宽调制ePWM
  7. 抖音上热门的好处有哪些?
  8. fms服务器ip修改,FusionSphere 平台修改管理网段和VLAN
  9. vue3如何去掉控制台的warn信息
  10. 最值得收藏的 搜狗输入法 常用快捷键使用, 让你的效率成倍增加