继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

【九月打卡】第12天 生成数据库表文档

两只角的蜗牛
关注TA
已关注
手记 25
粉丝 2
获赞 4

课程名称:Spring Cloud / Alibaba 微服务架构实战

课程章节:第6章-授权、鉴权中心微服务总结

课程讲师:张勤一

课程内容:

1. 引入依赖

<!-- screw 生成数据库文档 -->
<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.3</version>
</dependency>

2. 编写测试用例

/**
 * 数据库表文档生成
 */
@SpringBootTest
@RunWith(SpringRunner.class)
public class DBDocTest {

    @Autowired
    private ApplicationContext applicationContext;


    @Test
    public void buildDBDoc(){
        DataSource dataSource = applicationContext.getBean(DataSource.class);

        //生成文件配置
        EngineConfig engineConfig = EngineConfig.builder()
                //存放路径
                .fileOutputDir("D:/2022/personal")
                //是否打开
                .openOutputDir(false)
                //文件类型
                .fileType(EngineFileType.MD)
                //格式
                .produceType(EngineTemplateType.freemarker)
                .build();

        //生成文档, 数据库名_description_version.md
        Configuration configuration = Configuration.builder()
                .version("1.0.0")
                .description("wjl-xiaowan-home")
                .dataSource(dataSource)
                .engineConfig(engineConfig)
                .produceConfig(getProducerConfig())
                .build();

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


    /**
     * 配置想要生成的数据表和需要忽略的数据表
     * @return
     */
    public ProcessConfig getProducerConfig(){

        //需要忽略的数据表
        List<String> ignoreTableName = Collections.singletonList("undo_log");
        //忽略 a, b开头的数据表
        List<String> ignorePrefix = Arrays.asList("a", "b");
        //忽略表后缀
        List<String> ignoreSuffix = Arrays.asList("_test", "_Test");

        return ProcessConfig.builder()
                //根据名称指定表生成
                .designatedTableName(Collections.emptyList())
                .designatedTablePrefix(Collections.emptyList())
                .designatedTableSuffix(Collections.emptyList())
                //忽略的表
                .ignoreTableName(ignoreTableName)
                .ignoreTablePrefix(ignorePrefix)
                .ignoreTableSuffix(ignoreSuffix)
                .build();
    }
}

tips 数据库配置能够正常连接

课程截图:

图片描述
图片描述

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP