码迷,mamicode.com
首页 > 数据库 > 详细

生成数据库文档 —— Spring Boot + Screw

时间:2020-12-02 12:38:59      阅读:8      评论:0      收藏:0      [点我收藏+]

标签:name   cat   参考   turn   图片   文件   output   esc   prope   

1、创建一个SpringBoot项目(本人使用的是IntelliJ IDEA 2020.1 x64)

  • 最佳简单的项目配置如下:
    技术图片

2、添加相关依赖

<!--screw依赖-->
<dependency>
	<groupId>cn.smallbun.screw</groupId>
	<artifactId>screw-core</artifactId>
	<version>1.0.5</version>
</dependency>

<!--解决连接oracle中文乱码-->
<dependency>
	<groupId>cn.easyproject</groupId>
	<artifactId>orai18n</artifactId>
	<version>12.1.0.2.0</version>
</dependency>

3、连接数据库配置

#screw支持的数据库:MySQL、MariaDB、TIDB、Oracle、SqlServer、PostgreSQL、Cache DB(2016)

spring.datasource.url=jdbc:oracle:thin:@自填服务器地址:1521:库名
spring.datasource.username=XXX
spring.datasource.password=XXX
spring.datasource.xa.properties.useInformationSchema=true

4、脚本主要内容

  • 创建一个test类运行即可,代码如下:

package com.sinby.demo;

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 DemoApplicationTests {

    @Autowired
    ApplicationContext applicationContext;

    @Test
    void contextLoads() {
        DataSource dataSourceMysql = applicationContext.getBean(DataSource.class);

        // 生成文件配置
        EngineConfig engineConfig = EngineConfig.builder()
                // 生成文件路径(可自定义)
                .fileOutputDir("F:/XXX")
                // 打开目录
                .openOutputDir(false)
                //生成文件名(可自定义)
                .fileName("tablefile")
                // 文件类型 .HTML .WORD .MARKDOWN
                .fileType(EngineFileType.WORD)
                // 生成模板实现
                .produceType(EngineTemplateType.freemarker)
                .build();

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

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


    /**
     * 配置想要生成的表+ 配置想要忽略的表
     * @return 生成表配置
     */
    public static ProcessConfig getProcessConfig(){
        // 忽略表名
        List<String> ignoreTableName = Arrays.asList("aa","test_group");

        // 忽略表前缀,如忽略a开头的数据库表
        List<String> ignorePrefix = Arrays.asList("T_");    //,"t"

        // 忽略表后缀
        List<String> ignoreSuffix = Arrays.asList("_test","czb_");

        return ProcessConfig.builder()
                //根据名称指定表生成
                .designatedTableName(new ArrayList<>())
                //根据表前缀生成
                .designatedTablePrefix(new ArrayList<>())
                //根据表后缀生成
                .designatedTableSuffix(new ArrayList<>())
                //忽略表名
                .ignoreTableName(ignoreTableName)
                //忽略表前缀
                .ignoreTablePrefix(ignorePrefix).build();
                //忽略表后缀
                .ignoreTableSuffix(ignoreSuffix).build();
    }

}


5、参考

官网教程:SpringBoot整合screw生成数据库文档

生成数据库文档 —— Spring Boot + Screw

标签:name   cat   参考   turn   图片   文件   output   esc   prope   

原文地址:https://www.cnblogs.com/azure-rain/p/14051749.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!