登录
首页 >  数据库 >  MySQL

实用!一键生成数据库文档,堪称数据库界的Swagger

来源:SegmentFault

时间:2023-01-16 14:45:06 109浏览 收藏

怎么入门数据库编程?需要学习哪些知识点?这是新手们刚接触编程时常见的问题;下面golang学习网就来给大家整理分享一些知识点,希望能够给初学者一些帮助。本篇文章就来介绍《实用!一键生成数据库文档,堪称数据库界的Swagger》,涉及到MySQL、Java,有需要的可以收藏一下

本文收录在个人博客:www.chengxy-nds.top,技术资料共享,同进步

最近部门订单业务调整,收拢其他业务线的下单入口,做个统一大订单平台。需要梳理各业务线的数据表,但每个业务线库都有近百张和订单相关的表,挨个表一个一个字段的弄脑瓜子嗡嗡的。

为了不重复 CV 操作,抱着一丝希望开始在

<!-- screw核心 -->
<dependency><groupid>cn.smallbun.screw</groupid><artifactid>screw-core</artifactid><version>1.0.3</version></dependency><!-- HikariCP --><dependency><groupid>com.zaxxer</groupid><artifactid>HikariCP</artifactid><version>3.4.5</version></dependency><!--mysql driver--><dependency><groupid>mysql</groupid><artifactid>mysql-connector-java</artifactid><version>8.0.20</version></dependency>

2、配置数据源

配置数据源,设置

spring.datasource.url=jdbc:mysql://45.93.1.5:3306/fire?useUnicode=true&characterEncoding=UTF-8&useSSL=false
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.xa.properties.useInformationSchema=true

3、screw 核心配置

 <build><plugins><plugin><groupid>org.springframework.boot</groupid><artifactid>spring-boot-maven-plugin</artifactid></plugin><plugin><groupid>cn.smallbun.screw</groupid><artifactid>screw-maven-plugin</artifactid><version>1.0.3</version><dependencies><!-- HikariCP --><dependency><groupid>com.zaxxer</groupid><artifactid>HikariCP</artifactid><version>3.4.5</version></dependency><!--mysql driver--><dependency><groupid>mysql</groupid><artifactid>mysql-connector-java</artifactid><version>8.0.20</version></dependency></dependencies><configuration><!--username--><username>root</username><!--password--><password>123456</password><!--driver--><driverclassname>com.mysql.cj.jdbc.Driver</driverclassname><!--jdbc url--><jdbcurl>jdbc:mysql://41.92.6.5:3306/fire</jdbcurl><!--生成文件类型--><filetype>HTML</filetype><!--打开文件输出目录--><openoutputdir>false</openoutputdir><!--生成模板--><producetype>freemarker</producetype><!--文档名称 为空时:将采用[数据库名称-描述-版本号]作为文档名称--><!--<docName>测试文档名称</docName>--><!--描述--><description>数据库文档生成</description><!--版本--><version>${project.version}</version><!--标题--><title>fire数据库文档</title></configuration><executions><execution><phase>compile</phase><goals><goal>run</goal></goals></execution></executions></plugin></plugins></build>

配置完以后在

@SpringBootTest
public class ScrewApplicationTests {

    @Autowired
    ApplicationContext applicationContext;

    @Test
    void contextLoads() {
        DataSource dataSourceMysql = applicationContext.getBean(DataSource.class);
        // 生成文件配置
        EngineConfig engineConfig = EngineConfig.builder()
                // 生成文件路径,自己mac本地的地址,这里需要自己更换下路径
                .fileOutputDir("D:/")
                // 打开目录
                .openOutputDir(false)
                // 文件类型
                .fileType(EngineFileType.HTML)
                // 生成模板实现
                .produceType(EngineTemplateType.freemarker).build();
        // 生成文档配置(包含以下自定义版本号、描述等配置连接)
        Configuration config = Configuration.builder()
                .version("1.0.3")
                .description("生成文档信息描述")
                .dataSource(dataSourceMysql)
                .engineConfig(engineConfig)
                .produceConfig(getProcessConfig())
                .build();
        // 执行生成
        new DocumentationExecute(config).execute();
    }

    /**
     * 配置想要生成的表+ 配置想要忽略的表
     *
     * @return 生成表配置
     */
    public static ProcessConfig getProcessConfig() {
        // 忽略表名
        List<string> ignoreTableName = Arrays.asList("a", "test_group");
        // 忽略表前缀,如忽略a开头的数据库表
        List<string> ignorePrefix = Arrays.asList("a", "t");
        // 忽略表后缀
        List<string> ignoreSuffix = Arrays.asList("_test", "czb_");
        return ProcessConfig.builder()
                //根据名称指定表生成
                .designatedTableName(Arrays.asList("fire_user"))
                //根据表前缀生成
                .designatedTablePrefix(new ArrayList())
                //根据表后缀生成
                .designatedTableSuffix(new ArrayList())
                //忽略表名
                .ignoreTableName(ignoreTableName)
                //忽略表前缀
                .ignoreTablePrefix(ignorePrefix)
                //忽略表后缀
                .ignoreTableSuffix(ignoreSuffix).build();
    }
}</string></string></string>

4、文档格式

.fileType(EngineFileType.HTML)

或者

<filetype>MD</filetype>

DOC
文档样式
work文档

HTML
文档样式
在这里插入图片描述

MD
文档样式
在这里插入图片描述

不得不说这个工具是真TM好用,提前完成任务,有点傲娇有木有!
在这里插入图片描述

原创不易,燃烧秀发输出内容,如果有一丢丢收获,点个赞鼓励一下吧!

习惯在VX看技术文章,想要获取更多Java资源的同学,可以关注我的公众号:程序员内点事,暗号:[666]

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于数据库的相关知识,也可关注golang学习网公众号。

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>