最近部门订单业务调整,收拢其他业务线的下单入口,做个统一大订单平台。需要梳理各业务线的数据表,但每个业务线库都有近百张和订单相关的表,挨个表一个一个字段的弄脑瓜子嗡嗡的。

为了不重复 CV 操作,抱着一丝希望开始在GitHub里找,看看有没有什么工具可以用,结果就真的发现了宝藏,screw(螺丝钉),居然可以生成数据库文档,优秀啊~。

数据库支持

MySQL

MariaDB

TIDB

Oracle

SqlServer

PostgreSQL

Cache DB

配置

1、pom文件

引入screw核心包,HikariCP数据库连接池,HikariCP号称性能最出色的数据库连接池。

2、配置数据源

配置数据源,设置 useInformationSchema 可以获取tables注释信息。

spring.datasource.url=jdbc:mysql://45.93.1.5:3306/fire?useUnicode=true&characterEncoding=UTF-8&useSSL=false

spring.datasource.username=root

spring.datasource.password=123456

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

spring.datasource.xa.properties.useInformationSchema=true

3、screw 核心配置

screw有两种执行方式,第一种是pom文件配置,另一种是代码执行。

org.springframework.boot

spring-boot-maven-plugin

cn.smallbun.screw

screw-maven-plugin

1.0.3

com.zaxxer

HikariCP

3.4.5

mysql

mysql-connector-java

8.0.20

root

123456

com.mysql.cj.jdbc.Driver

jdbc:mysql://41.92.6.5:3306/fire

HTML

false

freemarker

数据库文档生成

${project.version}

fire数据库文档

compile

run

配置完以后在 maven project->screw 双击执行ok。

代码生成方式也非常简单。

@SpringBootTest

public class ScrewApplicationTests {

@Autowired

ApplicationContext applicationContext;

@Test

void contextLoads() {

DataSource dataSourceMysql = applicationContext.getBean(DataSource.class);

// 生成文件配置

EngineConfig engineConfig = EngineConfig.builder()

// 生成文件路径,自己mac本地的地址,这里需要自己更换下路径

.fileOutputDir("D:/")

// 打开目录

.openOutputDir(false)

// 文件类型

.fileType(EngineFileType.HTML)

// 生成模板实现

.produceType(EngineTemplateType.freemarker).build();

// 生成文档配置(包含以下自定义版本号、描述等配置连接)

Configuration config = Configuration.builder()

.version("1.0.3")

.description("生成文档信息描述")

.dataSource(dataSourceMysql)

.engineConfig(engineConfig)

.produceConfig(getProcessConfig())

.build();

// 执行生成

new DocumentationExecute(config).execute();

}

/**

* 配置想要生成的表+ 配置想要忽略的表

*

* @return 生成表配置

*/

public static ProcessConfig getProcessConfig() {

// 忽略表名

List ignoreTableName = Arrays.asList("a", "test_group");

// 忽略表前缀,如忽略a开头的数据库表

List ignorePrefix = Arrays.asList("a", "t");

// 忽略表后缀

List ignoreSuffix = Arrays.asList("_test", "czb_");

return ProcessConfig.builder()

//根据名称指定表生成

.designatedTableName(Arrays.asList("fire_user"))

//根据表前缀生成

.designatedTablePrefix(new ArrayList<>())

//根据表后缀生成

.designatedTableSuffix(new ArrayList<>())

//忽略表名

.ignoreTableName(ignoreTableName)

//忽略表前缀

.ignoreTablePrefix(ignorePrefix)

//忽略表后缀

.ignoreTableSuffix(ignoreSuffix).build();

}

}

4、文档格式

screw 有 HTML、DOC、MD 三种格式的文档。

代码中的修改

.fileType(EngineFileType.HTML)

或者pom文件

MD

DOC文档样式

HTML文档样式

MD文档样式

最后

不得不说这个工具是真TM好用,提前完成任务,有点傲娇有木有!

内容来源于网络如有侵权请私信删除

swagger连接mysql数据库_一键生成数据库文档,堪称数据库界的Swagger,有点厉害!...相关推荐

  1. 导出数据库表信息生成Word文档(数据字典)

    平时多积累一些好工具,才能提高工作效率,早点下班 1. 关键字百度 Java 导出数据库表信息生成Word文档 gitee地址 2.拉取,运行 2.1 idea识别.导入maven工具 2.2 下载完 ...

  2. java 导出word换行_Java 导出数据库表信息生成Word文档

    一.前言 最近看见朋友写了一个导出数据库生成word文档的业务,感觉很有意思,研究了一下,这里也拿出来与大家分享一波~ 先来看看生成的word文档效果吧 下面我们也来一起简单的实现吧 二.Java 导 ...

  3. 导出数据库表信息生成Word文档

    一.背景描述 系统上线或者交付,或者需要提供整理数据库表信息,如果一个个整理未免麻烦,接下来一个demo示例如何用JAVA导出Mysql数据库表信息生成Word文档. 1.项目源码地址:https:/ ...

  4. Java 导出数据库表信息生成Word文档

    一.前言 最近看见朋友写了一个导出数据库生成word文档的业务,感觉很有意思,研究了一下,这里也拿出来与大家分享一波~ 先来看生成word文档效果吧 下面我们也来一起简单的实现吧 二.Java 导出数 ...

  5. 一键生成 API 文档的妙招

    一般接口文档编写完成后,就要开始编写调用接口的代码,很多开发团队都采用传统的通过接口文档的方式来编写接口.但在接口数量越来越多的当下,手写接口十分麻烦. 今天我们通过 Eolink 演示一种一键生成 ...

  6. 一键生成PDF文档的书签和目录(书签,目录页带页码 都行)

    转自:https://blog.csdn.net/u010391342/article/details/86681359 一键生成PDF文档的书签目录 原创codeing_doc 发布于2019-01 ...

  7. 开发者必备工具,一键生成接口文档、调用示例

    前言 开发中,接口文档很重要,特别是现在web开发都开始前后端分离了,更加需要一个好的接口文档. 那要怎么快速的出接口文档.调用示例.mock呢?如果太麻烦,很多人就不愿意去写了. 今天给大家介绍一个 ...

  8. admin.php生成地址,FastAdmin命令行一键生成API文档

    一键生成API文档 FastAdmin中的一键生成API文档可以在命令行或后台一键生成我们API接口的接口测试文档,可以直接在线模拟接口请求,查看参数示例和返回示例. 准备工作 请确保你的API模块下 ...

  9. 将mysql 导出word文档_将数据库的内容生成WORD文档

    毕业设计需要从库里取纪录生成word文档,我找了半天,主要有这么几种方法: 1.改头,就是象excel似的Response.Buffer = TRUE Response.ContentType = & ...

  10. 将数据库的内容生成WORD文档

    1.改头,就是象excel似的 Response.Buffer = TRUE Response.ContentType = "application/vnd.ms-excel" ' ...

最新文章

  1. MF训练套件(1):如何去除应用标题?
  2. Length High
  3. 第03课:Spring Boot 启动原理
  4. Dubbo下载-从missing artifactId说起
  5. Apache kafka 工作原理介绍
  6. vijos1056-图形面积【离散化】
  7. 解决android studio引用远程仓库下载慢(JCenter下载慢)
  8. python画画用哪库好_数据可视化哪款工具更好用?对比7款Python 数据图表工具的性能...
  9. AI 技术争鸣!2019 AI 开发者大会盛大开幕
  10. typedef和define的作用域
  11. Unity Animation需要Inspector右键打开Debug模式,然后勾选Legacy,最后再Inspector右键打开Normal...
  12. 如何利用Caffe训练ImageNet分类网络
  13. 将GridView数据导出到Excel实现
  14. 解决NUC8豆子峡谷装黑苹果键盘错位的设置
  15. c语言中随机排序函数,利用随机函数产生N个随机整数(20000以上),对这些数进行多种方法进行排序。 用C语言编程...
  16. 初级中学计算机知识,计算机基础知识(初级中学级教学方案课程教案).doc
  17. 从程序关闭Windows。
  18. testin云测操作
  19. 日紫白飞星算法_九星紫白飞星规律
  20. 以太坊学习路线——(五)DApp开发:简易版去中心化微博

热门文章

  1. windows搭建yolo环境
  2. C++之左值引用与右值引用
  3. Mac上emacs gpg: 无法检查签名:没有公钥
  4. 理解Android Framework
  5. qwidget show 是否有信号_QT中的消息传递与函数回调机制:信号(signal)和槽(slot)...
  6. c# checkbox 外观_2020款日产蓝鸟上市!外观比大众朗逸漂亮,油耗6L 国六,9.59万_搜狐汽车...
  7. windows系统bat批处理 开机一键多个程序
  8. 每日三道前端面试题--vue 第五弹
  9. springmvc06 静态资源
  10. 你说话的方式,决定了你的命运!