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

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

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

d950778e5e3de09ae80a5a36d0276807.png

数据库支持

MySQL

MariaDB

TIDB

Oracle

SqlServer

PostgreSQL

Cache DB

配置

1、pom文件

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

4132632af491d1ef9541af175ed535d5.png

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。

77515d5b5e4d24fa94800cdcf8d9576d.png

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

@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文档样式

9bf2cc83652d4630d2c5218d45bef3c8.png

HTML文档样式

f09fbb5009617fd3fb3d00f469cdea44.png

MD文档样式

7c45b6fc94bb54024c6f3857d52af288.png

最后

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

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

参与评论 您还未登录,请先 登录 后发表或查看评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:数字20 设计师:CSDN官方博客 返回首页

打赏作者

昨夜听风又一曲

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值