首页 > 数据库 >【数据库表结构整理】screw 一键生成数据库文档,从此告别人工整理文档

【数据库表结构整理】screw 一键生成数据库文档,从此告别人工整理文档

时间:2024-06-12 15:31:56浏览次数:28  
标签:screw true 数据库 生成 文档 new hikariConfig ArrayList

使用步骤如下:

引入依赖

在pom.xml文件中引入如下依赖

<dependency>
    <groupId>cn.smallbun.screw</groupId>
    <artifactId>screw-core</artifactId>
    <version>1.0.3</version>
</dependency>
编写代码

新建测试类,编写如下代码生成文档,其次配置数据库相关连接信息;根据需要可以有选择性的配置相关属性:比如:生成文档的格式(下面配置的为HTML格式)、配置忽略哪些表等。

public class DbDoc {
    public static void main(String[] args) {
        createDbDoc("E:\\doc");
    }
    /**
     * 数据库文档生成
     *
     * @param fileOutputDir 生成文件保存路径
     */
    public static void createDbDoc(String fileOutputDir) {
        // 数据源
        HikariConfig hikariConfig = new HikariConfig();
        hikariConfig.setDriverClassName("com.mysql.cj.jdbc.Driver");
        hikariConfig.setJdbcUrl("jdbc:mysql://127.0.0.1:3306/xxkfz_ruoyi_plus_vue_5.x?characterEncoding=UTF8&useServerPrepStmts=true&cachePrepStmts=true&cacheCallableStmts=true&autoReconnect=true&useSSL=false&serverTimezone=Asia/Shanghai");
        hikariConfig.setUsername("xxkfz");
        hikariConfig.setPassword("xxkfz");
        //设置可以获取tables remarks信息
        hikariConfig.addDataSourceProperty("useInformationSchema", "true");
        hikariConfig.setMinimumIdle(2);
        hikariConfig.setMaximumPoolSize(5);
        DataSource dataSource = new HikariDataSource(hikariConfig);
        //生成配置
        EngineConfig engineConfig = EngineConfig.builder()
                //生成文件路径
                .fileOutputDir(fileOutputDir)
                //打开目录
                .openOutputDir(true)
                //文件类型
                .fileType(EngineFileType.HTML)
                //生成模板实现
                .produceType(EngineTemplateType.freemarker).build();

        //忽略表
        ArrayList<String> ignoreTableName = new ArrayList<>();
        ignoreTableName.add("test_user");
        ignoreTableName.add("test_group");
        //忽略表前缀
        ArrayList<String> ignorePrefix = new ArrayList<>();
        ignorePrefix.add("test_");
        //忽略表后缀
        ArrayList<String> ignoreSuffix = 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();
    }
}
测试

配置完成后,运行main函数即可生成数据库文档。

重点:

如果报错,看下pom文件

 

<dependencies>
    <dependency>
        <groupId>cn.smallbun.screw</groupId>
        <artifactId>screw-core</artifactId>
        <version>1.0.5</version>
    </dependency>
    <dependency>
        <groupId>com.zaxxer</groupId>
        <artifactId>HikariCP</artifactId>
        <version>3.4.5</version>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.23</version>
    </dependency>
</dependencies>

标签:screw,true,数据库,生成,文档,new,hikariConfig,ArrayList
From: https://blog.csdn.net/wufaqidong1/article/details/139599817

相关文章

  • 【S086】基于Springboot图书馆管理系统项目源码 java图书借阅管理 含文档
    运行截图:登录后台主页图书列表图书上架借阅图书归还图书用户列表添加用户公告列表发布公告个人信息详情个人信息编辑项目组成:项目源码:项目文档:源码获取⬇⬇⬇......
  • 【龙溪系统docker 安装Oracle ,并连接本地数据库】
    安装docker(龙蜥系统)/安装docker/[root@localhostdockers]#cd/etc/yum.repos.d/查看配置文件/sudoyumupdate-y/更新YUM包/[root@localhostdockers]#sudofirewall-cmd--zone=public--permanent--add-port=443/tcp[root@localhostdockers]#sudofirewal......
  • 【龙溪系统docker 安装Oracle ,并连接本地数据库】(下)
    win10系统设置找到tnsnames.ora文件,然后写入:ORCL_DOCKER=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=本机IP地址)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=helowin)))创建数据库角色Oracle/创建用户和角色/SELECT*FROM......
  • 金地集团:性能考量为首要,核心系统的数据库选型|OceanBase 《DB大咖说》(七)
    OLTP是关系型数据库的典型使用场景。然而,在实际应用中,除了OLTP外,OLAP能力也至关重要,因此催生了HTAP技术的发展。金地集团的核心系统,新一代预算管理系统,凭借OceanBase的HTAP能力,仅花费一年便实现了从研发到投入使用,其测算的性能效率显著提升,达到了90倍的飞跃,成功满足了集团整体......
  • 50.基于SSM的停车场管理系统的设计与实现|基于SSM+ Mysql+Java设计与实现(可运行源码+
    内容概要:全套项目源码+详尽文档,一站式解决您的学习与项目需求。适用人群:计算机、通信、人工智能、自动化等专业的学生、老师及从业者。使用场景及目标:无论是毕设、期末大作业还是课程设计,一键下载,轻松部署,助您轻松完成项目。项目代码经过调试测试,确保直接运行,节省您的时......
  • MySql 增、删、改、查数据库
    前言之前几天写了MySql的GROUPBY语句和JOIN语句,今天补一下创建数据库、表的语句。首先假设已经暗转好MySQL数据库,然后创建数据库、表。创建数据库createdatabase[ifnotexists]数据库名;[CHARACTERSETcharset_name][COLLATEcollation_name];ifnote......
  • windows系统下,每天定时做mysql数据库备份
    一.备份数据库命令 格式化当前日期setTIMESTAMP=%date:~0,4%%date:~5,2%%date:~8,2% 将现在的日期格式化为yyyyMMdd  备份mysql指定数据库mysqldump-uroot-p123456dbname>"E:\DBbackups\mydb_%TIMESTAMP%.sql" -uroot:root是用户名 -p123456:123456是数据库......
  • scopus数据库收录论文快吗
    scopus数据库收录论文快吗scopus是国际知名的数据库,收录文献类型包含期刊,会议论文,丛书,专利等,那么scopus数据库收录论文快吗?scopus检索收录时间是浮动的,有的论文可能需要2个月左右,有的可能需要3-4个月。论文录用见刊到能够被scopus数据库检索时间,取决于出版社和期刊稿源情况,......
  • Mybatis 实体类中字段使用 ZonedDateTime,但达梦数据库使用无时区的 Timestamp 时发生
    背景开发的应用运行在东八区,无国际化需求,也无时区相关要求。后端使用SpringBoot和Mybatis,数据库使用达梦数据库,数据库中存储时间的类型为Timestamp(不存储时区信息)其中实体如下publicclassStudent{Stringid;ZonedDateTimeentryTime;}前端和后端约定时......
  • 深度解读数据库引入LLVM技术后如何提升性能
    GaussDB作为企业级的数据库,经过了多年的技术发展,具备丰富的技术特性,使用LLVM技术后提升了系统的查询性能,使得开发者在OLAP和OLTP多场景中均受益。Hi,别急!让技术触达每一个角落,赋能更多的人,GaussTech第3期《LLVM技术在GaussDB等数据库中的应用》,不仅带来满满的技术干货,还推出【分......