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)

大家都在看

  • MySQL之视图、触发器、事务、索引及其他知识补充

    一、视图 视图是将SQL语句的查询结果当做虚拟表实体化保存起来,以后可以反复使用 create view teacher2course as select * from teach…

    数据库 2023年5月24日
    079
  • day03-MySQL基础知识02

    MySQL基础知识02 4.CRUD 数据库CRUD语句:增(create)、删(delete)、改(update)、查(Retrieve) Insert 语句 (添加数据) Up…

    数据库 2023年6月11日
    072
  • JavaWeb核心篇(7)——VUE和Element

    VUE&Element 今日目标: 能够使用VUE中常用指令和插值表达式 能够使用VUE生命周期函数 mounted 能够进行简单的 Element 页面修改 能够完成查询…

    数据库 2023年6月14日
    078
  • SpringBoot快速入门

    虽然我的工作中更多的是与数据库打交道,但是作为一个 Coder,我觉得掌握前后端的 Web技术来说是非常有必要的。 不仅可以帮助我们在工作中更好的理解其他岗位与你对接的人他的工作痛…

    数据库 2023年6月11日
    063
  • idea的使用技巧和必要的设置

    idea 如何开启多个线程 打开下面按钮,然后运行相同的代码即可 打开idea需要选择打开哪一个项目 设置如下,关闭下面选项即可 posted @2022-06-17 21:07 …

    数据库 2023年6月14日
    082
  • Java面试题(五)–Rabbits

    1、什么是MyBatis? 1、Mybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,开发时只需要关注SQL语句本身,不需要花费精力去处理加载驱动、创建连接、创建…

    数据库 2023年6月16日
    093
  • 2022-8-27 vue 第一天

    什么是vue? Vue (发音为 /vjuː/,类似 view) 是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS 和 JavaScript 构建…

    数据库 2023年6月14日
    066
  • Python 学习笔记(七)–socket

    1.网络七层模型及主要协议 2.TCP的”三次握手”和四次挥手 三次握手 Step1:首先客户端向服务器端发送一段TCP报文; Step 2:服务器端接收到…

    数据库 2023年6月16日
    0106
  • centos系统下mysql的配置

    配置文件路径 /etc/my.cnf Hole yor life get everything if you never give up. Original: https://ww…

    数据库 2023年6月9日
    063
  • CISCN2022初赛misc wp

    ez_usb usb流量题,与以前的鼠标流量和键盘流量有所区别,但大同小异 导出所有的HID数据并按照ip分类,之后脚本解码得到压缩包和密码 mappings = { "…

    数据库 2023年6月11日
    0104
  • MYSQL–>SQL优化

    Insert优化 优化原因:MYSQL数据库中insert每执行一次都会对数据库进行一次连接,会浪费很大资源。 优化方案: 批量插入 插入数据的时候尽量一次性批量插入多个数据而不是…

    数据库 2023年6月14日
    084
  • B+树索引页大小是如何确定的?

    B+树简介 在正式介绍本文的主题前,需要对 B+ 树有一定的了解,B+树是一种磁盘上数据的索引结构,大概长这个样子。 B+树的叶子节点是所有的数据,非叶子节点称为索引页,索引页里有…

    数据库 2023年6月14日
    071
  • 事务

    事务 *事务的简介 事务是一组操作的合集,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体,一起向系统提交或撤销操作请求,这些操作只有同时成功、同时失败; 事务的操作 查…

    数据库 2023年6月16日
    087
  • 高并发组件了解

    消息队列 A服务和多个服务耦合,内部维护对多个服务发送数据的接口,那么这些接口如果有的挂了,有的不需要了,那么还得修改A内部的代码,如果使用MQ,A发送消息就好,不必考虑那么多事情…

    数据库 2023年6月16日
    057
  • Mybatis-Plus初步上手!!

    1.简介 1.1、特性 2.快速开始 3.配置日志 4.CRUD拓展 4.1、插入 4.2、更新 4.3、查询 4.4、删除 5.性能分析插件 6.条件构造器Wrapper 7.代…

    数据库 2023年6月16日
    070
  • MySQL视图

    视图 常见的数据库对象 视图概述 为什么使用视图 可以帮助我们使用表中的 部分数据,对其修改可以改变原来表中的值 可以简化查询 控制数据的访问(权限) 视图的理解 视图是一个本身没…

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