赞
踩
最近因为工作的需要,让我写数据库设计文档,可是我最烦文档类的工作了,之前写过一篇
《mysql数据库设计文档-导出字段设计》的文章,使用的navicat工作,不过导出的格式是excel不符合格式,还得自己整理,现在用screw 工具包,整合到springboot的项目中便可以自动生成数据库设计文档,非常方便,下面就分享一下教程
提示:以下是本篇文章正文内容,下面案例可供参考
screw是一个一键式生成数据库文档的开源工具包,目前screw可以生成word、md和html格式类的文档,支持freemarker和velocity两种模板引擎。数据源支持HikariDataSource,DruidDataSource可能会发生类型转换报错。
pom文件中引入jar依赖
- <!-- 数据库设计文档生成工具-->
- <dependency>
- <groupId>cn.smallbun.screw</groupId>
- <artifactId>screw-core</artifactId>
- <version>1.0.5</version>
- </dependency>
代码如下(下面用的是postgres数据库):
-
- import cn.smallbun.screw.core.Configuration;
- import cn.smallbun.screw.core.engine.EngineConfig;
- import cn.smallbun.screw.core.engine.EngineFileType;
- import cn.smallbun.screw.core.engine.EngineTemplateType;
- import cn.smallbun.screw.core.execute.DocumentationExecute;
- import cn.smallbun.screw.core.process.ProcessConfig;
- import com.zaxxer.hikari.HikariConfig;
- import com.zaxxer.hikari.HikariDataSource;
-
- import javax.sql.DataSource;
- import java.util.ArrayList;
- import java.util.List;
-
- public class DatabaseDesignDocUtil {
-
- public static void main(String[] args) {
- documentGeneration();
- }
-
- /**
- * 文档生成
- */
- public static void documentGeneration() {
- //数据源
- HikariConfig hikariConfig = new HikariConfig();
- hikariConfig.setDriverClassName("org.postgresql.Driver");
- hikariConfig.setJdbcUrl("jdbc:postgresql://39.164.52.80:5432/work_face");
- hikariConfig.setUsername("postgres");
- hikariConfig.setPassword("POSTGRES");
- //设置可以获取tables remarks信息
- hikariConfig.addDataSourceProperty("useInformationSchema", "true");
- hikariConfig.setMinimumIdle(2);
- hikariConfig.setMaximumPoolSize(5);
- DataSource dataSource = new HikariDataSource(hikariConfig);
- //生成配置
- EngineConfig engineConfig = EngineConfig.builder()
- //生成文件路径
- .fileOutputDir("C:\\Users\\tarzan\\Desktop\\doc")
- //打开目录
- .openOutputDir(true)
- //文件类型
- .fileType(EngineFileType.WORD)
- //生成模板实现
- .produceType(EngineTemplateType.freemarker)
- //自定义文件名称
- .fileName("智能工作面数据库设计文档").build();
-
- //忽略表
- List<String> ignoreTableName = new ArrayList<>();
- ignoreTableName.add("test_user");
- ignoreTableName.add("test_group");
- //忽略表前缀
- ArrayList<String> ignorePrefix = new ArrayList<>();
- ignorePrefix.add("test_");
- //忽略表后缀
- ArrayList<String> ignoreSuffix = new ArrayList<>();
- ignoreSuffix.add("_test");
- ProcessConfig processConfig = ProcessConfig.builder()
- //指定生成逻辑、当存在指定表、指定表前缀、指定表后缀时,将生成指定表,其余表不生成、并跳过忽略表配置
- //根据名称指定表生成
- .designatedTableName(new ArrayList<>())
- //根据表前缀生成
- .designatedTablePrefix(new ArrayList<>())
- //根据表后缀生成
- .designatedTableSuffix(new ArrayList<>())
- //忽略表名
- .ignoreTableName(ignoreTableName)
- //忽略表前缀
- .ignoreTablePrefix(ignorePrefix)
- //忽略表后缀
- .ignoreTableSuffix(ignoreSuffix).build();
- //配置
- Configuration config = Configuration.builder()
- //版本
- .version("1.0.0")
- //描述
- .description("数据库设计文档生成")
- //数据源
- .dataSource(dataSource)
- //生成配置
- .engineConfig(engineConfig)
- //生成配置
- .produceConfig(processConfig)
- .build();
- //执行生成
- new DocumentationExecute(config).execute();
- }
-
- }
在上述示例中,我们创建了一个Configuration对象,配置了数据库连接信息和文档输出选项。然后,通过DocumentationExecute执行文档生成操作。需要改成mysql等别的数据库的,请在代码中改下驱动配置和连接配置。
idea等编辑器里,运行main的主方法即可。
控制台输出示例
生成文档展示
cn.smallbun.screw
是一个开源的数据库文档生成工具,用于将数据库结构以文档形式展示。下面将详细介绍 cn.smallbun.screw
的特点、使用方式以及其在实际项目中的应用。
cn.smallbun.screw
的特点:支持多种数据库:cn.smallbun.screw
支持主流的关系型数据库,如 MySQL、Oracle、SQL Server、PostgreSQL 等,可以适用于不同的数据库平台。
自动生成文档:该工具可以自动解析数据库的结构,包括表、字段、索引、约束等信息,并生成相应的文档。这样,开发人员无需手动编写和更新数据库文档,节省了大量的时间和精力。
自定义模板:cn.smallbun.screw
提供了丰富的文档模板,用户可以根据需要选择合适的模板进行定制。模板支持多种输出格式,如 HTML、Markdown、Word 等,使得生成的文档更加灵活和美观。
数据库版本控制:cn.smallbun.screw
支持与版本控制系统(如 Git)集成,可以记录数据库结构的变化历史。这对于团队协作和项目追踪非常有用,能够方便地查看和比较不同版本数据库结构的差异。
命令行和 Maven 插件:cn.smallbun.screw
提供了命令行工具和 Maven 插件,方便集成到项目中,并可以通过简单的命令或配置实现文档生成。
cn.smallbun.screw
的使用方式:引入依赖:首先需要将 cn.smallbun.screw
的依赖添加到项目中。可以通过 Maven 或手动下载 jar 包的方式引入。
配置数据库:在项目的配置文件中,配置要连接的数据库信息,包括驱动类、URL、用户名和密码等。
配置文档生成:根据需要,配置文档输出的格式、路径、模板等相关参数。可以选择使用默认模板,也可以自定义模板。
运行工具:通过命令行工具或 Maven 插件运行 cn.smallbun.screw
,触发文档生成过程。工具会连接数据库,解析结构并生成相应的文档。
查看文档:生成文档后,可以查看生成的文档文件,并根据需要进行调整或分享给相关人员。
cn.smallbun.screw
的应用场景:项目文档:cn.smallbun.screw
可以作为项目文档的一部分,记录数据库结构和设计的细节,方便团队成员了解数据库的组成和关系。
数据库维护:生成的文档可以作为数据库维护的参考,开发人员和 DBA 可以根据文档了解表结构、列定义、索引等信息,方便进行数据库优化和修改。
数据库迁移:当进行数据库迁移或升级时,cn.smallbun.screw
可以帮助记录当前数据库结构,并与迁移后的数据库结构进行对比,以确保数据一致性和完整性。
文档共享:生成的文档可以方便地与团队成员、客户或其他相关方共享,使得数据库设计和结构更加透明和可理解。
总结: cn.smallbun.screw
是一个功能强大的数据库文档生成工具,支持多种数据库平台,并能自动生成详细的数据库文档。它简化了数据库文档的维护和生成过程,提高了团队的工作效率和沟通效果。通过 cn.smallbun.screw
,开发者可以快速生成规范、易读的数据库文档,并在项目开发和维护中发挥重要作用。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。