一款开源数据库表结构文档生成器

图片

介绍

在我们平时的开发中,有时候不可避免的需要查看数据库表字段信息,通过数据库查看特别繁琐,今天我推荐一款特别好用的开源组件screw可以一键式生成数据库文档。

特性

  • 简洁、轻量、设计良好

  • 多种格式文档(word、md和html)

  • 可灵活扩展(支持HikariDataSource,DruidDataSource)

  • 支持自定义模板(支持freemarker和velocity两种模板引擎)

目前已支持的主流数据库

  • MySQL

  • MariaDB

  • TIDB

  • Oracle

  • SqlServer

  • PostgreSQL

  • Cache DB(2016)

使用方式

新建SpringBoot工程  pom.xml引入

<dependency>
    <groupId>cn.smallbun.screw</groupId>
    <artifactId>screw-core</artifactId>
    <version>${lastVersion}</version>
 </dependency>

配置数据源

spring.datasource.url=jdbc:mysql://XXX:3306/XXX?useUnicode=true&characterEncoding=utf-8
spring.datasource.username=
spring.datasource.password=
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#按照码云文档说明: MySQL数据库表和列字段有说明、生成文档没有说明
spring.datasource.xa.properties.userInformationSchema= true

编写测试类并测试

@SpringBootTest
class ScrewApplicationTests {

    @Autowired
    private ApplicationContext applicationContext;

    @Test
    void testGenerateDatabaseDocument() {

        DataSource dataSource = applicationContext.getBean(DataSource.class);

        EngineConfig engineConfig = EngineConfig.builder()
                //生成文件路径
                .fileOutputDir("/resources")
                // 打开目录
                .openOutputDir(true)
                // 文件类型,支持word、md和html
                .fileType(EngineFileType.HTML)

                //生成模板实现,支持freemarker和velocity
                .produceType(EngineTemplateType.freemarker).build();

        //生成配置文档
        Configuration configuration = Configuration.builder()
                .version("1.0.3")
                .description("学生数据库文档描述信息")
                .dataSource(dataSource)
                .engineConfig(engineConfig)
                .produceConfig(getProcessConfig())
                .build();

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

    /**
     * 配置想要生成的表 + 配置想要忽略的表
     * @return
     */
    private ProcessConfig getProcessConfig() {

        // 忽略表名
        List<String> ignoreTable = Arrays.asList("aa","test_group");

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

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

导出的数据库表结构文档效果如下:

图片

图片

非常清晰,不过相信这款工具肯定对各位程序猿小伙伴有所帮助,大家赶紧来用用看吧。

图片

点击下方卡片/微信搜索,关注公众号“天宇文创意乐派”(ID:gh_cc865e4c536b)

回复“screw”获取仓库地址

往期推荐

[

全方位解读 package.json

](http://mp.weixin.qq.com/s?__biz=MzI4MDQ5MTUzMg==&mid=2247487003&idx=4&sn=a3ef49248b147f63fd83db7b5e13eb21&chksm=ebb6ed78dcc1646e4deebdec23e08a64db148ec9d2211720eb106ea887f1ce58fd30aa4ae7c2&scene=21#wechat_redirect)

[

光追+DLSS,iGame RTX 30系显卡搭建梦幻仙剑世界

](http://mp.weixin.qq.com/s?__biz=MzI4MDQ5MTUzMg==&mid=2247486887&idx=1&sn=9f4efb32666daf3de0578cbd852dec45&chksm=ebb6eec4dcc167d2d82ec34df35f43077cc042f8ae8cbe60b8285581e28eca39ca6afa11133e&scene=21#wechat_redirect)

[

Spring Cloud Feign如何实现JWT令牌中继

](http://mp.weixin.qq.com/s?__biz=MzI4MDQ5MTUzMg==&mid=2247486887&idx=2&sn=db5455858b03cf4b7876d4869ad6498a&chksm=ebb6eec4dcc167d243fdc8b1f8d274f961c286eff57b93177813ca3bfef8373cb3435eeb144f&scene=21#wechat_redirect)

[

Facebook 宣布改名为Meta,未来重点开发元宇宙!

](http://mp.weixin.qq.com/s?__biz=MzI4MDQ5MTUzMg==&mid=2247486887&idx=3&sn=483c5a610f11344b75edecbfebd4a5df&chksm=ebb6eec4dcc167d297fb9a68e9072f29591f71cc84c7c2db2512f4efd7383e8eb1052e778ef4&scene=21#wechat_redirect)

[

正义没有迟到,他们还是赢了跟阿里的官司!

](http://mp.weixin.qq.com/s?__biz=MzI4MDQ5MTUzMg==&mid=2247486887&idx=4&sn=ac7d447f5c77893827f5682c25c6672c&chksm=ebb6eec4dcc167d27ac95c8caf2b139de2a55ce2f36ec13ce6584898e03e5958f156be9168f5&scene=21#wechat_redirect)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值