首页 > 数据库 >springboot~Screw生成数据库文档

springboot~Screw生成数据库文档

时间:2022-09-02 17:01:14浏览次数:77  
标签:Screw springboot ArrayList 生成 文档 ignoreTableName new hikariConfig

数据库说明文档,在我们开发项目时是非常必要的,有时项目交付时,客户也是需要让我们提供的,而如果人工编写,比如耗时,通过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();
	}

文档效果

标签:Screw,springboot,ArrayList,生成,文档,ignoreTableName,new,hikariConfig
From: https://www.cnblogs.com/lori/p/16650527.html

相关文章

  • springboot启动报错
    springboot启动报错Description:FieldstationInformationServiceincom.htkj.aicheck.service.TrainCheckServicerequiredabeanoftype'com.htkj.ai.server.service......
  • springboot 自定义注解拦截器
    参考:https://blog.csdn.net/mxlgslcd/article/details/89155315第一步:自定义注解@Target(ElementType.METHOD)//可用在方法名上@Retention(RetentionPolicy.RUNTIME)/......
  • SpringBoot多数据源配置
    在实际的开发或者线上环境中,一般都不仅仅是一个数据库走天下,而是根据业务进行拆分多个数据库。另外,在日常开发中我们都是以单个数据库进行开发,在小型项目中是完全能够满足......
  • 为什么我要迁移SpringBoot到函数计算
    前言为什么要迁移?我们的业务有很多对外提供服务的RESTfulAPI,并且要执行很多不同的任务,例如同步连锁ERP中的商品信息到美团/饿了么等平台,在线开发票等。由于各种API......
  • 基于函数计算自定义运行时快速部署一个 springboot 项目 什么是函数计算?
    什么是函数计算?函数计算是事件驱动的全托管计算服务。使用函数计算,您无需采购与管理服务器等基础设施,只需编写并上传代码。函数计算为您准备好计算资源,弹性地可靠地运行任......
  • vue+Springboot下载文件
    前端代码<el-buttontype="primary"@click="dowload2('1662023440868上传测试.jpg')">下载</el-button>js代码dowload2(msg){lethref="http://......
  • SpringBoot整合Redis
    14、SpringBoot整合Redis14.1、概述SpringBoot操作数据库:spring-data,jpa,jdbc,mongodb,redisSpringData也是和SpringBoot齐名的项目!说明:在SpringBoot2.x之后,原来使用的jed......
  • springboot项目使用jsp
    异常问题场景提示:这里简述项目相关背景springboot课堂学习问题详情提示:这里描述项目中遇到的问题jsp无法访问原因分析提示:这里填写问题的分析没有jsp解......
  • 使用IDEA生成JavaDoc文档
    1.选中要生成的包:  2.点击标题栏上得Tools->GenerateJavaDoc...  3.:然后会弹出一个界面,然后在输出目录(Outputdirectory)输入框后面的按钮点击进去选择要保存的......
  • SpringBoot的异步、定时、邮件任务
    13、异步、定时、邮件任务13.1、前言在我们的工作中,常常会用到异步处理任务,比如我们在网站上发送邮件,后台会去发送邮件,此时前台会造成响应不动,直到邮件发送完毕,响应才会......