• springboot~Screw生成数据库文档


    数据库说明文档,在我们开发项目时是非常必要的,有时项目交付时,客户也是需要让我们提供的,而如果人工编写,比如耗时,通过screw组件来生成文档,非常方便。

    源代码和使用:https://github.com/pig-mesh/screw

    添加依赖

         <dependency>
                <groupId>cn.smallbun.screw</groupId>
                <artifactId>screw-core</artifactId>
                <version>1.0.3</version>
         </dependency>
    

    编写生成数据库代码

    @Test
    public void documentGeneration() {
    		// 数据源
    		HikariConfig hikariConfig = new HikariConfig();
    		hikariConfig.setDriverClassName("com.mysql.cj.jdbc.Driver");
    		hikariConfig.setJdbcUrl("jdbc:mysql://127.0.0.1:3306/pig");
    		hikariConfig.setUsername("root");
    		hikariConfig.setPassword("123456");
    		// 设置可以获取tables remarks信息
    		hikariConfig.addDataSourceProperty("useInformationSchema", "true");
    		hikariConfig.setMinimumIdle(2);
    		hikariConfig.setMaximumPoolSize(5);
    		DataSource dataSource = new HikariDataSource(hikariConfig);
    		// 生成配置
    		EngineConfig engineConfig = EngineConfig.builder()
    				// 生成文件路径
    				.fileOutputDir("d:\\数据库说明文档screw")
    				// 打开目录
    				.openOutputDir(true)
    				// 文件类型
    				.fileType(EngineFileType.HTML)
    				// 生成模板实现
    				.produceType(EngineTemplateType.freemarker).build();
    
    		// 忽略表
    		ArrayList<String> ignoreTableName = new ArrayList<>();
    		ignoreTableName.add("test_user");
    		ignoreTableName.add("test_group");
    		// 忽略表前缀
    		ArrayList<String> ignorePrefix = new ArrayList<>();
    		ignorePrefix.add("test_");
    		// 忽略表后缀
    		ArrayList<String> ignoreSuffix = new ArrayList<>();
    		ignoreSuffix.add("_test");
    		ProcessConfig processConfig = ProcessConfig.builder()
    				// 指定生成逻辑、当存在指定表、指定表前缀、指定表后缀时,将生成指定表,其余表不生成、并跳过忽略表配置
    				// 根据名称指定表生成
    				.designatedTableName(new ArrayList<>())
    				// 根据表前缀生成
    				.designatedTablePrefix(new ArrayList<>())
    				// 根据表后缀生成
    				.designatedTableSuffix(new ArrayList<>())
    				// 忽略表名
    				.ignoreTableName(ignoreTableName)
    				// 忽略表前缀
    				.ignoreTablePrefix(ignorePrefix)
    				// 忽略表后缀
    				.ignoreTableSuffix(ignoreSuffix).build();
    		// 配置
    		Configuration config = Configuration.builder()
    				// 版本
    				.version("1.0.0")
    				// 描述
    				.description("数据库设计文档生成")
    				// 数据源
    				.dataSource(dataSource)
    				// 生成配置
    				.engineConfig(engineConfig)
    				// 生成配置
    				.produceConfig(processConfig).build();
    		// 执行生成
    		new DocumentationExecute(config).execute();
    	}
    

    文档效果

  • 相关阅读:
    第十三周助教小结
    记事本
    第十二周助教小结
    与周老师会谈之后的感想
    第十一周总结
    第十周助教总结
    听周筠老师一席话,受益匪浅
    2020软件工程作业04
    2020软件工程作业02
    2020软件工程作业01
  • 原文地址:https://www.cnblogs.com/lori/p/16650527.html
Copyright © 2020-2023  润新知