screw数据库文档导出工具

源码地址:https://github.com/pingfangushi/screw

引入pom


    cn.smallbun.screw
    screw-core
    1.0.5
 

 

编写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 ignoreTableName = new ArrayList<>();
		ignoreTableName.add("test_user");
		ignoreTableName.add("test_group");
		//忽略表前缀
		ArrayList ignorePrefix = new ArrayList<>();
		ignorePrefix.add("test_");
		//忽略表后缀
		ArrayList 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

screw数据库文档导出工具_第1张图片

你可能感兴趣的:(数据库文档导出,数据库文档导出)