• Screw数据库文档生成神器


    引入依赖

    <dependency>
        <groupId>cn.smallbun.screw</groupId>
        <artifactId>screw-core</artifactId>
        <version>1.0.3</version>
    </dependency>

    请自行配置好数据源

    目前screw支持的数据库

    •  MySQL
    •  MariaDB
    •  TIDB
    •  Oracle
    •  SqlServer
    •  PostgreSQL
    •  Cache DB
    •  H2 (开发中)
    •  DB2 (开发中)
    •  HSQL (开发中)
    •  SQLite(开发中)
    •  瀚高(开发中)
    •  达梦 (开发中)
    •  虚谷 (开发中)
    •  人大金仓(开发中)

    在SpringBoot中编写测试类

    package com.landimc.sbs;
    
    import javax.sql.DataSource;
    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 org.junit.jupiter.api.Test;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.boot.test.context.SpringBootTest;
    import org.springframework.context.ApplicationContext;
    
    import javax.sql.DataSource;
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.List;
    
    @SpringBootTest
    class SbsApplicationTests {
    
        @Autowired
        ApplicationContext applicationContext;
    
        @Test
        void contextLoads() {
            DataSource dataSourceMysql = applicationContext.getBean(DataSource.class);
    
            // 生成文件配置
            EngineConfig engineConfig = EngineConfig.builder()
                    // 生成文件路径
                    .fileOutputDir("E:\doc\zqt")
                    // 打开目录
                    .openOutputDir(false)
                    // 文件类型(目前支持html、doc、MD格式,个人体验后还是html格式生成后看起来比较舒服,建议使用)
                    .fileType(EngineFileType.HTML)
                    // 生成模板实现
                    .produceType(EngineTemplateType.freemarker).build();
    
            // 生成文档配置(包含以下自定义版本号、描述等配置连接)
            Configuration config = Configuration.builder().version("1.0.0").description("文档描述").dataSource(dataSourceMysql).engineConfig(engineConfig).produceConfig(getProcessConfig()).build();
    
            // 执行生成
            new DocumentationExecute(config).execute();
        }
    
        /**
         * 配置想要生成的表+ 配置想要忽略的表
         * 
         * @return 生成表配置
         */
        public static ProcessConfig getProcessConfig() {
            // 忽略表名,需要忽略的表将表名放到list中即可
            //List<String> ignoreTableName = Arrays.asList("aa", "test_group");
            // 忽略表前缀,如忽略a开头的数据库表
            //List<String> ignorePrefix = Arrays.asList("a", "t");
            // 忽略表后缀
            //List<String> ignoreSuffix = Arrays.asList("_test", "czb_");
    
            return ProcessConfig.builder()
                    // 根据名称指定表生成
                    .designatedTableName(new ArrayList<>())
                    // 根据表前缀生成
                    .designatedTablePrefix(new ArrayList<>())
                    // 根据表后缀生成
                    .designatedTableSuffix(new ArrayList<>()).build();
                    
        }
    
    }
  • 相关阅读:
    远程调试 ASP.NET MVC 项目
    两行代码搞定 JavaScript 的日期验证
    ASP.NET MVC 静态资源打包和压缩问题小记
    CodeSmith7连接Mysql
    网站开发烦心记-1
    感悟还是教训,或者。。。
    可以断点续传的scp
    CTP报单状态
    android studio 0.8.8下载
    期货结算单查询
  • 原文地址:https://www.cnblogs.com/sansui/p/13613341.html
Copyright © 2020-2023  润新知