springboot~Screw生成数据库文档

数据库说明文档,在我们开发项目时是非常必要的,有时项目交付时,客户也是需要让我们提供的,而如果人工编写,比如耗时,通过screw组件来生成文档,非常方便。

源代码和使用:https://github.com/pig-mesh/screw

添加依赖

     <dependency>
            <groupid>cn.smallbun.screw</groupid>
            <artifactid>screw-core</artifactid>
            <version>1.0.3</version>
     </dependency>

编写生成数据库代码

@Test
public void documentGeneration() {
        // &#x6570;&#x636E;&#x6E90;
        HikariConfig hikariConfig = new HikariConfig();
        hikariConfig.setDriverClassName("com.mysql.cj.jdbc.Driver");
        hikariConfig.setJdbcUrl("jdbc:mysql://127.0.0.1:3306/pig");
        hikariConfig.setUsername("root");
        hikariConfig.setPassword("123456");
        // &#x8BBE;&#x7F6E;&#x53EF;&#x4EE5;&#x83B7;&#x53D6;tables remarks&#x4FE1;&#x606F;
        hikariConfig.addDataSourceProperty("useInformationSchema", "true");
        hikariConfig.setMinimumIdle(2);
        hikariConfig.setMaximumPoolSize(5);
        DataSource dataSource = new HikariDataSource(hikariConfig);
        // &#x751F;&#x6210;&#x914D;&#x7F6E;
        EngineConfig engineConfig = EngineConfig.builder()
                // &#x751F;&#x6210;&#x6587;&#x4EF6;&#x8DEF;&#x5F84;
                .fileOutputDir("d:\\&#x6570;&#x636E;&#x5E93;&#x8BF4;&#x660E;&#x6587;&#x6863;screw")
                // &#x6253;&#x5F00;&#x76EE;&#x5F55;
                .openOutputDir(true)
                // &#x6587;&#x4EF6;&#x7C7B;&#x578B;
                .fileType(EngineFileType.HTML)
                // &#x751F;&#x6210;&#x6A21;&#x677F;&#x5B9E;&#x73B0;
                .produceType(EngineTemplateType.freemarker).build();

        // &#x5FFD;&#x7565;&#x8868;
        ArrayList<string> ignoreTableName = new ArrayList<>();
        ignoreTableName.add("test_user");
        ignoreTableName.add("test_group");
        // &#x5FFD;&#x7565;&#x8868;&#x524D;&#x7F00;
        ArrayList<string> ignorePrefix = new ArrayList<>();
        ignorePrefix.add("test_");
        // &#x5FFD;&#x7565;&#x8868;&#x540E;&#x7F00;
        ArrayList<string> ignoreSuffix = new ArrayList<>();
        ignoreSuffix.add("_test");
        ProcessConfig processConfig = ProcessConfig.builder()
                // &#x6307;&#x5B9A;&#x751F;&#x6210;&#x903B;&#x8F91;&#x3001;&#x5F53;&#x5B58;&#x5728;&#x6307;&#x5B9A;&#x8868;&#x3001;&#x6307;&#x5B9A;&#x8868;&#x524D;&#x7F00;&#x3001;&#x6307;&#x5B9A;&#x8868;&#x540E;&#x7F00;&#x65F6;&#xFF0C;&#x5C06;&#x751F;&#x6210;&#x6307;&#x5B9A;&#x8868;&#xFF0C;&#x5176;&#x4F59;&#x8868;&#x4E0D;&#x751F;&#x6210;&#x3001;&#x5E76;&#x8DF3;&#x8FC7;&#x5FFD;&#x7565;&#x8868;&#x914D;&#x7F6E;
                // &#x6839;&#x636E;&#x540D;&#x79F0;&#x6307;&#x5B9A;&#x8868;&#x751F;&#x6210;
                .designatedTableName(new ArrayList<>())
                // &#x6839;&#x636E;&#x8868;&#x524D;&#x7F00;&#x751F;&#x6210;
                .designatedTablePrefix(new ArrayList<>())
                // &#x6839;&#x636E;&#x8868;&#x540E;&#x7F00;&#x751F;&#x6210;
                .designatedTableSuffix(new ArrayList<>())
                // &#x5FFD;&#x7565;&#x8868;&#x540D;
                .ignoreTableName(ignoreTableName)
                // &#x5FFD;&#x7565;&#x8868;&#x524D;&#x7F00;
                .ignoreTablePrefix(ignorePrefix)
                // &#x5FFD;&#x7565;&#x8868;&#x540E;&#x7F00;
                .ignoreTableSuffix(ignoreSuffix).build();
        // &#x914D;&#x7F6E;
        Configuration config = Configuration.builder()
                // &#x7248;&#x672C;
                .version("1.0.0")
                // &#x63CF;&#x8FF0;
                .description("&#x6570;&#x636E;&#x5E93;&#x8BBE;&#x8BA1;&#x6587;&#x6863;&#x751F;&#x6210;")
                // &#x6570;&#x636E;&#x6E90;
                .dataSource(dataSource)
                // &#x751F;&#x6210;&#x914D;&#x7F6E;
                .engineConfig(engineConfig)
                // &#x751F;&#x6210;&#x914D;&#x7F6E;
                .produceConfig(processConfig).build();
        // &#x6267;&#x884C;&#x751F;&#x6210;
        new DocumentationExecute(config).execute();
    }
</string></string></string>

文档效果

springboot~Screw生成数据库文档

Original: https://www.cnblogs.com/lori/p/16650527.html
Author: 张占岭
Title: springboot~Screw生成数据库文档

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/576064/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Logback实现按业务输出到对应日志文件

    一、方案 由于需要按业务生成不同的日志文件,看到按业务来区分,我的第一感觉就是业务其实是可以按包名来区分的。所以其实我们只要实现不同的包下面的日志输出到不同的文件,就能实现需求了。…

    数据库 2023年6月6日
    0284
  • SpringBoot整合Redis和SpringBoot(SpringCache)整合Redis

    参考博客: https://blog.csdn.net/lingerlan510/article/details/121906813 https://blog.csdn.net/u…

    数据库 2023年6月14日
    0114
  • java读取文本文件的方法

    文本文件是我们日常开发中,常用的简单存储载体,那么如何读取文本文件呢? 下文笔者将通过示例的方式讲述读取文本文件的方法分享,如下所示: 文本文件是最常用的文件格式之一, 下文是笔者…

    数据库 2023年6月11日
    0117
  • NO.4 计算机组成原理-笔记

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    数据库 2023年6月14日
    098
  • 史上最全Mysql规范

    1 整体规约 1)【强制】数据库所有对象必须要有注释,包括:表、字段、索引等,并且要保持最新; 1)【强制】默认使用utf8字符集,无乱码风险,除一些需要存储特殊符号的字段,可以采…

    数据库 2023年5月24日
    089
  • Vue 2.0 基础

    知识点 1.是一个MVVM框架 由MVC架构衍生,分为View(视图层)、ViewModel(数据视图层)、Model(数据层),MVVM 最标志性的特性就是 数据绑定,实现数据驱…

    数据库 2023年6月11日
    0106
  • 分布式事务解决方案

    分布式事务解决方案 花开堪折直须折,莫待无花空折枝。 分布式事务是指事务的操作位于不同的节点上,需要保证事务的ACID特性。在分布式架构下,每个节点只知晓自身操作的成功与失败,无法…

    数据库 2023年6月14日
    098
  • Docker安装配置Oracle详细教程(以作持久化处理)

    Docker安装Oracle 1,拉取Oracle镜像,拉取成功后查看 &#xA0;docker&#xA0;pull&#xA0;registry.cn-ha…

    数据库 2023年6月11日
    0176
  • Docker Mysql安装和启动

    1、拉取mysql镜像 前往docker官网dockerhub在这里插入图片描述可以在红框内选择指定版本,例如 <span class=”token function”&gt…

    数据库 2023年6月6日
    089
  • C语言学习笔记

    C语言学习笔记 预处理 #include include指令可以将另一个源文件的全部内容包含进来 include “stdio.h” #include 用尖…

    数据库 2023年6月14日
    0116
  • 详解在Linux中安装配置MongoDB

    最近在整理自己私人服务器上的各种阿猫阿狗,正好就顺手详细记录一下清理之后重装的步骤,今天先写点数据库的内容,关于在 Linux中安装配置 MongoDB 说实话为什么会装 Mong…

    数据库 2023年6月11日
    0171
  • leetcode 101. Symmetric Tree 对称二叉树(简单)

    一、题目大意 给你一个二叉树的根节点 root , 检查它是否轴对称。 示例 1: 输入:root = [1,2,2,3,4,4,3]输出:true 示例 2: 输入:root =…

    数据库 2023年6月16日
    091
  • 计算字符串中指定字符最大连续出现的次数

    //连中次数public static int LzNum(String str) { // 分&#x5272…

    数据库 2023年6月11日
    099
  • MySQL 主从同步延迟监控

    MySQL5.7和8.0支持通过 replication_applier_status 表获同步延迟时间,当从库出现延迟后,该表中的字段 REMAINING_DELAY 记录延迟秒…

    数据库 2023年6月11日
    0112
  • 关于EF分页查询报错(Count must have a non-negative value.)的解决方案

    具体的异常信息如下,一开始没有写日志只看到错误信息:Count must have a non-negative value.,从表面意思可以看出来是Count值出现了负数,所以报…

    数据库 2023年6月9日
    092
  • lvs负载均衡

    Lvs 一.Lvs简介 二. 体系结构 三. Lvs管理工具 1. ipvs 2. ipvsadm 四.lvs工作模式及原理 1.NAT模式 2. DR模式 3.TUN模式(隧道模…

    数据库 2023年6月14日
    0101
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球