c 自动生成mysql表结构_自动生成数据库表结构文档工具screw

在企业级开发中、我们经常会有编写数据库表结构文档的时间付出,从业以来,待过几家企业,关于数据库表结构文档状态:要么没有、要么有、但都是手写、后期运维开发,需要手动进行维护到文档中,很是繁琐、如果忘记一次维护、就会给以后工作造成很多困扰、无形中制造了很多坑留给自己和后人,于是需要一个插件工具screw来维护。

特点:简洁、轻量、设计良好

多数据库支持

多种格式文档

灵活扩展

支持自定义模板

数据库支持:MySQL

MariaDB

TIDB

Oracle

SqlServer

PostgreSQL

Cache DB(2016)

使用方式:

1、配置pom文件,添加依赖包。

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

cn.smallbun.screw

screw-core

1.0.3

com.zaxxer

HikariCP

3.4.5

mysql

mysql-connector-java

8.0.20

2、配置数据源####  数据库配置  ####

spring.datasource.url = jdbc:mysql://localhost:3306/PiaoDB?useUnicode=swater&characterEncoding=UTF-8

spring.datasource.username = root

spring.datasource.password = root

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

3、screw 核心配置

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

3.1、代码使用:@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();

}

}

3.2、maven插件使用:

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

root

com.mysql.cj.jdbc.Driver

jdbc:mysql://localhost:3306/PiaoDB?useUnicode=swater&characterEncoding=UTF-8

HTML

false

freemarker

数据库文档生成

${project.version}

fire数据库文档

compile

run

配置完以后在,我们只要点击screw:run就运行了。如下图:

4deee2a39db12b727e949a7bc291afe7.png

文档生成支持:html

word

markdown

代码中的修改:.fileType(EngineFileType.HTML)

pom文件配置:MD

文档截图:

1、word文档样式

6b86836f152474d429df1bf5269679bc.png

2、html文档样式

93edde101be76554c5e78726234b6563.png

3、markdown文档样式:

33033413370e0ff87a6d785d62d68999.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值