swagger连接mysql数据库_一键生成数据库文档,堪称数据库界的Swagger,有点厉害!...
最近部门订单业务调整,收拢其他业务线的下单入口,做个统一大订单平台。需要梳理各业务线的数据表,但每个业务线库都有近百张和订单相关的表,挨个表一个一个字段的弄脑瓜子嗡嗡的。
为了不重复 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,有点厉害!...相关推荐
- 导出数据库表信息生成Word文档(数据字典)
平时多积累一些好工具,才能提高工作效率,早点下班 1. 关键字百度 Java 导出数据库表信息生成Word文档 gitee地址 2.拉取,运行 2.1 idea识别.导入maven工具 2.2 下载完 ...
- java 导出word换行_Java 导出数据库表信息生成Word文档
一.前言 最近看见朋友写了一个导出数据库生成word文档的业务,感觉很有意思,研究了一下,这里也拿出来与大家分享一波~ 先来看看生成的word文档效果吧 下面我们也来一起简单的实现吧 二.Java 导 ...
- 导出数据库表信息生成Word文档
一.背景描述 系统上线或者交付,或者需要提供整理数据库表信息,如果一个个整理未免麻烦,接下来一个demo示例如何用JAVA导出Mysql数据库表信息生成Word文档. 1.项目源码地址:https:/ ...
- Java 导出数据库表信息生成Word文档
一.前言 最近看见朋友写了一个导出数据库生成word文档的业务,感觉很有意思,研究了一下,这里也拿出来与大家分享一波~ 先来看生成word文档效果吧 下面我们也来一起简单的实现吧 二.Java 导出数 ...
- 一键生成 API 文档的妙招
一般接口文档编写完成后,就要开始编写调用接口的代码,很多开发团队都采用传统的通过接口文档的方式来编写接口.但在接口数量越来越多的当下,手写接口十分麻烦. 今天我们通过 Eolink 演示一种一键生成 ...
- 一键生成PDF文档的书签和目录(书签,目录页带页码 都行)
转自:https://blog.csdn.net/u010391342/article/details/86681359 一键生成PDF文档的书签目录 原创codeing_doc 发布于2019-01 ...
- 开发者必备工具,一键生成接口文档、调用示例
前言 开发中,接口文档很重要,特别是现在web开发都开始前后端分离了,更加需要一个好的接口文档. 那要怎么快速的出接口文档.调用示例.mock呢?如果太麻烦,很多人就不愿意去写了. 今天给大家介绍一个 ...
- admin.php生成地址,FastAdmin命令行一键生成API文档
一键生成API文档 FastAdmin中的一键生成API文档可以在命令行或后台一键生成我们API接口的接口测试文档,可以直接在线模拟接口请求,查看参数示例和返回示例. 准备工作 请确保你的API模块下 ...
- 将mysql 导出word文档_将数据库的内容生成WORD文档
毕业设计需要从库里取纪录生成word文档,我找了半天,主要有这么几种方法: 1.改头,就是象excel似的Response.Buffer = TRUE Response.ContentType = & ...
- 将数据库的内容生成WORD文档
1.改头,就是象excel似的 Response.Buffer = TRUE Response.ContentType = "application/vnd.ms-excel" ' ...
最新文章
- MF训练套件(1):如何去除应用标题?
- Length High
- 第03课:Spring Boot 启动原理
- Dubbo下载-从missing artifactId说起
- Apache kafka 工作原理介绍
- vijos1056-图形面积【离散化】
- 解决android studio引用远程仓库下载慢(JCenter下载慢)
- python画画用哪库好_数据可视化哪款工具更好用?对比7款Python 数据图表工具的性能...
- AI 技术争鸣!2019 AI 开发者大会盛大开幕
- typedef和define的作用域
- Unity Animation需要Inspector右键打开Debug模式,然后勾选Legacy,最后再Inspector右键打开Normal...
- 如何利用Caffe训练ImageNet分类网络
- 将GridView数据导出到Excel实现
- 解决NUC8豆子峡谷装黑苹果键盘错位的设置
- c语言中随机排序函数,利用随机函数产生N个随机整数(20000以上),对这些数进行多种方法进行排序。 用C语言编程...
- 初级中学计算机知识,计算机基础知识(初级中学级教学方案课程教案).doc
- 从程序关闭Windows。
- testin云测操作
- 日紫白飞星算法_九星紫白飞星规律
- 以太坊学习路线——(五)DApp开发:简易版去中心化微博
热门文章
- windows搭建yolo环境
- C++之左值引用与右值引用
- Mac上emacs gpg: 无法检查签名:没有公钥
- 理解Android Framework
- qwidget show 是否有信号_QT中的消息传递与函数回调机制:信号(signal)和槽(slot)...
- c# checkbox 外观_2020款日产蓝鸟上市!外观比大众朗逸漂亮,油耗6L 国六,9.59万_搜狐汽车...
- windows系统bat批处理 开机一键多个程序
- 每日三道前端面试题--vue 第五弹
- springmvc06 静态资源
- 你说话的方式,决定了你的命运!