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新建用户与授权

    test为用户名,1234为密码,%意思是任何一台主机都可以登录,如果只能本机登录则设置为localhost 说明:test为数据库的名称 说明:第一个test为数据库的名称,第二…

    数据库 2023年6月9日
    086
  • 计算机组成原理——概述篇

    计算机发展历史 电子管计算机(1946 年——1958 年) 第一台计算机为ENIAC 诞生于美国宾夕法尼亚大学 特点: 集成度小,空间占用大 功耗高,运行速度慢 操作复杂,更换程…

    数据库 2023年6月16日
    071
  • 【StoneDB研发日志】union功能bug记录

    1、问题现象 create database syw_mtr; use syw_mtr; CREATE TABLE t1 (f1 VARCHAR(255) CHARACTER SE…

    数据库 2023年5月24日
    094
  • SQL优化

    一、插入优化 批量插入 insert into tb_name values (1,"张三"),(2,"张三"),(3,"张三&q…

    数据库 2023年5月24日
    082
  • innoDB对MVCC的实现

    InnoDB存储引擎在 RR 级别下通过 MVCC和 Next-key Lock 来解决幻读问题: 1、执行普通 select,此时会以 MVCC 快照读的方式读取数据 在快照读的…

    数据库 2023年6月16日
    093
  • LinkedList源码刨析

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

    数据库 2023年6月16日
    087
  • Question07-查询学过”张三”老师授课的同学的信息

    * SELECT DISTINCT Student.* FROM Student , SC , Course , Teacher WHERE Student.SID = SC.SI…

    数据库 2023年6月16日
    061
  • Yapi安装配置(CentOs)

    环境要求 nodejs(7.6+)mongodb(2.6+)git 准备工作 清除yum命令缓存 sudo yum clean all 卸载低版本nodejs yum remove…

    数据库 2023年6月11日
    077
  • SQLyog企业版

    一、下载与安装 1、SQLyog的下载 链接:https://www.aliyundrive.com/s/11ZuFqB1z4E提取码:63fu 2、SQLyog的安装 双击下载程…

    数据库 2023年6月11日
    0121
  • 总监让我当小组长,我不愿意,理由竟是…

    来源:BiggerBoy作者:北哥原文链接:https://mp.weixin.qq.com/s/_pkjvDzGQUDTfo9C1bieJw 最近看到一个话题,热度很高:【总监让…

    数据库 2023年6月11日
    081
  • springcloud~nacos通过@refreshScope进行配置热更新

    配置类 @Data @ConfigurationProperties("auth") public class AuthProperties { private…

    数据库 2023年6月6日
    091
  • Nginx 简介、安装、核心配置

    Nginx简介 背景介绍 Nginx(”engine x”)一个具有高性能的【HTTP】和【反向代理】的【WEB服务器】,同时也是一个【POP3/SMTP/…

    数据库 2023年6月6日
    0109
  • Java 面试题及答案整理(2021最新版)持续更新中~~~

    Java面试总结汇总,整理了包括Java基础知识,集合容器,并发编程,JVM,常用开源框架Spring,MyBatis,数据库,中间件等,包含了作为一个Java工程师在面试中需要用…

    数据库 2023年6月9日
    098
  • login方法访问不到解决过程

    背景:由于项目登录模块之前使用传统的字符验证码,干扰又太严重,经常会有输入十次以上才能蒙对的情况。于是提出让改为滑动验证码(斗鱼,B站等等)。如图所示: 原有的: 要改的: 这个实…

    数据库 2023年6月11日
    0147
  • Maven项目POM文件设置依赖

    https://www.cnblogs.com/stars-one/p/10958796.html 可以参考这个链接 这里个添加依赖 如果在如上界面找不到 请设置一下本地仓库 Or…

    数据库 2023年6月9日
    0120
  • 2022-08-19 PreparedStatement

    PreparedStatement接口是 Statement的子接口,它表示一条预编译过的SQL语句 什么是SQL注入 SQL注入是利用某些系统没有对用户输入的数据进行充分的检查,…

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