商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 系统应用 > SpringBoot使用Screw自动生成数据库表结构文档工具

SpringBoot使用Screw自动生成数据库表结构文档工具

  发布于2026-08-20 阅读(0)

扫一扫,手机访问

在企业级开发过程中,编写数据库表结构文档是一项常见的工作。我从业多年,也待过几家企业,发现数据库表结构文档的状态普遍不太理想:要么根本没有,要么有也是手写的。在后期运维开发时,还需要手动将变更维护到文档中,这是一件非常繁琐的事情。如果忘记了一次维护,就会给以后的工作带来很多麻烦,给自己和后来的同事都挖了不少坑。所以,我们非常需要一个插件工具来帮助我们维护数据库表结构文档,这个工具就是screw。

screw工具地址:https://gitee.com/leshalv/screw?utm_source=alading&utm_campaign=repo

特点:

  • 简洁、轻量、设计良好

  • 多数据库支持

  • 多种格式文档

  • 灵活扩展

  • 支持自定义模板

数据库支持:

  • 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-ja va
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、ma ven插件使用:

 


org.springframework.boot
spring-boot-ma ven-plugin


cn.smallbun.screw
screw-ma ven-plugin
1.0.3



com.zaxxer
HikariCP
3.4.5



mysql
mysql-connector-ja va
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就运行了。如下图:

文档生成支持:

  • html
  • word
  • markdown

代码中的修改:

.fileType(EngineFileType.HTML)

pom文件配置:

MD

文档截图:

1、word文档样式

2、html文档样式

3、markdown文档样式:

本文转载于:https://apiv1.oschina.net/oschinapi/blog/detail?id=4759404 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注