Screw自动生成数据库文档

Screw简介

官方地址

Screw可以根据数据库中的表自动生成HTML、Word、Markdown格式的文档。

Springboot 3.1集成

生成Springboot项目

Spring Initializr

Maven依赖

<dependency>
  <groupId>cn.smallbun.screw</groupId>
  <artifactId>screw-core</artifactId>
  <version>1.0.5</version>
</dependency>
		<!-- https://mvnrepository.com/artifact/org.freemarker/freemarker -->
<dependency>
  <groupId>org.freemarker</groupId>
  <artifactId>freemarker</artifactId>
  <version>2.3.32</version>
</dependency>

代码

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 javax.sql.DataSource;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

@SpringBootTest
public class DbDocTest {
    @Autowired
    DataSource dataSource;
    @Test
    void generateDoc() {
        EngineConfig engineConfig = EngineConfig.builder()
                // 生成文件路径,自己mac本地的地址,这里需要自己更换下路径
                .fileOutputDir("./output")
                // 打开目录
                .openOutputDir(false)
                // 文件类型
                .fileType(EngineFileType.WORD)
                // 生成模板实现
                .produceType(EngineTemplateType.freemarker).build();

        // 生成文档配置(包含以下自定义版本号、描述等配置连接)
        Configuration config = Configuration.builder()
                .version("1.0.0")
                .description("生成文档信息描述")
                .dataSource(dataSource)
                .engineConfig(engineConfig)
                .produceConfig(getProcessConfig())
                .build();

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

    public static ProcessConfig getProcessConfig(){
        // 忽略表名
        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<>())
                //忽略表名
                .ignoreTableName(ignoreTableName)
                //忽略表前缀
                .ignoreTablePrefix(ignorePrefix)
                //忽略表后缀
                .ignoreTableSuffix(ignoreSuffix).build();
    }
}

生成文档

执行上面的单元测试方法,即可生成文档

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
博客地址:http://blog.csdn.net/vipbooks 一直以来根据数据库表结构自动生成项目框架代码都是一件让人很头痛的事情,如果能自动生成框架的结构性代码,那么项目组成员的开发效率能迅速提高60%以上,开发人员就只要关注业务代码的编写了。 TableGo可以根据数据库表结构自动生成JavaBean、MyBaits的Mapper映射配置文件、数据库设计文档,更重要的是可以根据每个项目的不同开发框架编写自定义模板生成各模块的结构性代码,让开发人员的开发效率提高60%以上,并且可以通过模板定义好开发规范统一开发风格和标准,提高代码的规范性和可维护性。 只要设计好数据库并且添加好备注,就能通过自定义模板生成任意编程语言的程序代码,并且能够生成各种代码备注。实现只要把数据数据库设计好,整个项目就完成了很大一部分代码的编写,大大节省了项目的开发成本。支持MySQL、Oracle、SQL Servce、PostgreSQL四种数据库,支持Window、Linux、MacBook等多种操作系统。 TableGo v5.8.8版震撼发布,此次版本更新如下: 1、新增两个扩展字段,用于生成自定义模板时使用。 2、自定义模板新增模板目录,可以选择不同分类目录下的模板。 3、自定义模板生成加强,可以根据参数自动生成文件名和扩展名。 4、自定义模板新增和调整了多个参数,使模板编写更加方便快捷。 5、Entity主键生成策略新增identity和sequence。 6、开放自定义作者的配置。 7、修复一些Bug并进行了一些优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值