Springboot项目自动生成数据库文档-创新互联

screw是用来生成数据库表结构说明文档的组件,通过引用jar包,通过简单的配置就可以自动生成文档,相当于数据库中的swagger,支持html, word, md三种格式的文档

超过十年行业经验,技术领先,服务至上的经营模式,全靠网络和口碑获得客户,为自己降低成本,也就是为客户降低成本。到目前业务范围包括了:网站制作、做网站,成都网站推广,成都网站优化,整体网络托管,小程序设计,微信开发,重庆APP软件开发,同时也可以让客户的网站和网络营销和我们一样获得订单和生意!引入依赖

作为一个springboot web项目运行,所以引入spring web
使用mysql连接驱动器,所以引入mysql-connector-java
screw-core和HikariCP是screw组件使用需要的依赖
最后,需要用单元测试的方式来调用生成文档的方法,所以需要spring-boot-starter-test依赖

org.springframework.bootspring-boot-starter-webmysqlmysql-connector-javaruntimecn.smallbun.screwscrew-core1.0.5com.zaxxerHikariCP3.4.5org.springframework.bootspring-boot-starter-testtest
生成数据库说明文档
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 org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

import javax.sql.DataSource;
import java.util.ArrayList;

@RunWith(SpringRunner.class)
// 单元测试类的原注解如上,运行出现javax.websocket.server.ServerContainer not available,经查阅资料,得知SpringBootTest在启动的时候不会启动服务器,所以WebSocket自然会报错
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public class DatebaseDocDemoApplicationTests {@Test
    public void generateDBDoc(){HikariConfig hikariConfig = new HikariConfig();
        hikariConfig.setDriverClassName("com.mysql.cj.jdbc.Driver");
        hikariConfig.setJdbcUrl("jdbc:mysql://localhost:3306/test?useUnicode=true&useSSL=false&characterEncoding=utf8&serverTimezone=GMT%2b8&allowPublicKeyRetrieval=true");
        hikariConfig.setUsername("root");
        hikariConfig.setPassword("123456");
        // 设置可以获取remark信息
        hikariConfig.addDataSourceProperty("useInformationSchema","true");
        hikariConfig.setMinimumIdle(2);
        hikariConfig.setMaximumPoolSize(5);
        DataSource dataSource = new HikariDataSource(hikariConfig);
        // 生成配置
        EngineConfig engineConfig = EngineConfig.builder()
                // 生成文件路径
                .fileOutputDir("D:\\testMysqlDoc")
                // 打开目录 设置为true执行完代码后会自动打开对应路径文件夹
                .openOutputDir(true)
                // 文件类型,支持三种类型
                .fileType(EngineFileType.HTML)
//                .fileType(EngineFileType.WORD)
                // 生成模板实现
                .produceType(EngineTemplateType.freemarker).build();
        // 忽略表,这些表不会在文档中生成
        ArrayListignoreTableName = new ArrayList<>();
        ignoreTableName.add("test_xxx");
        // 忽略表前缀,这些表不会在文档中生成
        ArrayListignorePrefix = new ArrayList<>();
        ignorePrefix.add("test_");
        // 忽略表后缀,这些表不会在文档中生成
        ArrayListignoreSuffix = new ArrayList<>();
        ignoreSuffix.add("_test");
        ProcessConfig processConfig = ProcessConfig.builder()
                // 忽略表名
                .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();
    }

}

生成结果如下
在这里插入图片描述

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


网站题目:Springboot项目自动生成数据库文档-创新互联
本文链接:http://pwwzsj.com/article/djjsoh.html