screw数据库文档导出工具

源码地址:GitHub - pingfangushi/screw: 简洁好用的数据库表结构文档生成器

引入pom

	    <!-- 核心包 -->
		<dependency>
			<groupId>cn.smallbun.screw</groupId>
			<artifactId>screw-core</artifactId>
			<version>1.0.5</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>

编写test  main方法

  • 文件类型
      EngineFileType枚举类中提供三种类型:HTMLWORDMD
  • 模板类型
      EngineTemplateType枚举类中提供两种类型:freemarkervelocity

import cn.smallbun.screw.core.Configuration;
import cn.smallbun.screw.core.engine.EngineConfig;
import cn.smallbun.screw.core.engine.EngineFileType;
import cn.smallbun.screw.core.engine.EngineTemplateType;
import cn.smallbun.screw.core.execute.DocumentationExecute;
import cn.smallbun.screw.core.process.ProcessConfig;
import com.zaxxer.hikari.HikariConfig;
import com.zaxxer.hikari.HikariDataSource;
import org.junit.jupiter.api.Test;

import javax.sql.DataSource;
import java.util.ArrayList;

public class FileOut {

	private static final String fileOutputDir="D://";


	public static void main(String[] args) {
		FileOut f=new FileOut();
		f.documentGeneration();
	}

	/**
	 * 文档生成
	 */
	void documentGeneration() {
		//数据源
		HikariConfig hikariConfig = new HikariConfig();
		hikariConfig.setDriverClassName("com.mysql.cj.jdbc.Driver");
		hikariConfig.setJdbcUrl("jdbc:mysql://127.0.0.1:3306/test?serverTimezone=UTC");
		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(fileOutputDir)
			//打开目录
			.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()
			//忽略表名
			.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();
	}
}

去导出目录查看html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值