spring boot + screw数据库快速开发文档

一、创建spring boot项目

File ——> New ——> Project,然后如下图:

点击Next,如下图:

点击Next,如下图:

点击Next,如下图:

点击Finish,就构建好了一个初始化的springboot工程,文件结构如下图:

二、pom依赖

        <dependency>
            <groupId>org.freemarker</groupId>
            <artifactId>freemarker</artifactId>
            <version>2.3.30</version>
        </dependency>

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

添加以上内容至下图的位置,如图所示:

三、配置数据库相关

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=123456

在application.properties文件中配置,如下图所示:

四、测试类

在ScrewdemoApplicationTests中写测试代码,目录结构图如下所示:

具体的源码如下所示:

package com.example.screwdemo;

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.Arrays;
import java.util.Collections;
import java.util.List;

@SpringBootTest
class ScrewdemoApplicationTests {

    @Autowired
    ApplicationContext applicationContext;

    /** 
     * @description:  screw快速生成数据库文档
     
     * @return: void 
     * @author: Fariy
     * @date: 2020/9/4 
     */ 
    
    @Test
    void contextLoads() {
        DataSource dataSource = applicationContext.getBean(DataSource.class);

        // 1、生成文件配置
        EngineConfig engineConfig = EngineConfig.builder()
                //生成文件路径(本地路径)
                .fileOutputDir("/Users/Fariy/Documents/doc")
                //打开目录
                .openOutputDir(false)
                //文件类型( ".html"、".doc"、".md")
                .fileType(EngineFileType.HTML)
                //生成模板实现
                .produceType(EngineTemplateType.freemarker).build();

        // 忽略表名
        List<String> ignoreTableName = Arrays.asList("aa","test_group");
        // 忽略表前缀
        List<String> ignorePrefix = Collections.singletonList("czb_");
        // 忽略表后缀å
        List<String> ignoreSuffix = Arrays.asList("_test","_test1");

        // 2、配置想要忽略的表
        ProcessConfig processConfig = ProcessConfig.builder()
                .ignoreTableName(ignoreTableName)
                .ignoreTablePrefix(ignorePrefix)
                .ignoreTableSuffix(ignoreSuffix)
                .build();

        // 3、生成文档配置(包含以下自定义版本号、描述等配置连接)
        Configuration config = Configuration.builder()
                .version("1.0.1")
                .description("数据库设计文档生成")
                .dataSource(dataSource)
                .engineConfig(engineConfig)
                .produceConfig(processConfig).build();

        // 4、执行生成
        new DocumentationExecute(config).execute();
    }

}

五、启动

点击test启动,运行结果,然后在 fileOutputDir中设置的路径:/Users/Fariy/Documents/doc找生成好的数据库。然后打开的效果:


版权声明:本文为Amy_Cher原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。