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();
	}

文档效果

posted @   张占岭  阅读(178)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
历史上的今天:
2021-09-02 java~并行计算~Future和Callable实现大任务的并行处理
2021-09-02 springboot~对@RequestParam中Date参数的适配
2020-09-02 maven~生成spotbug文档
2020-09-02 spotbugs~lombok生成的Date属性引起的EI_EXPOSE_REP问题
2020-09-02 es~通过ElasticsearchTemplate进行聚合~Nested嵌套聚合
2019-09-02 jenkins-pipeline里使用docker命令
2016-09-02 Lind.DDD.Utils.HttpHelper里静态对象引出的Http超时问题
点击右上角即可分享
微信分享提示