生成数据库文档 —— Spring Boot + Screw
1、创建一个SpringBoot项目(本人使用的是IntelliJ IDEA 2020.1 x64)
- 最佳简单的项目配置如下:

2、添加相关依赖
<!--screw依赖-->
<dependency>
<groupId>cn.smallbun.screw</groupId>
<artifactId>screw-core</artifactId>
<version>1.0.5</version>
</dependency>
<!--解决连接oracle中文乱码-->
<dependency>
<groupId>cn.easyproject</groupId>
<artifactId>orai18n</artifactId>
<version>12.1.0.2.0</version>
</dependency>
3、连接数据库配置
#screw支持的数据库:MySQL、MariaDB、TIDB、Oracle、SqlServer、PostgreSQL、Cache DB(2016)
spring.datasource.url=jdbc:oracle:thin:@自填服务器地址:1521:库名
spring.datasource.username=XXX
spring.datasource.password=XXX
spring.datasource.xa.properties.useInformationSchema=true
4、脚本主要内容
- 创建一个test类运行即可,代码如下:
package com.sinby.demo;
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 org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.context.ApplicationContext;
import javax.sql.DataSource;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@SpringBootTest
class DemoApplicationTests {
@Autowired
ApplicationContext applicationContext;
@Test
void contextLoads() {
DataSource dataSourceMysql = applicationContext.getBean(DataSource.class);
// 生成文件配置
EngineConfig engineConfig = EngineConfig.builder()
// 生成文件路径(可自定义)
.fileOutputDir("F:/XXX")
// 打开目录
.openOutputDir(false)
//生成文件名(可自定义)
.fileName("tablefile")
// 文件类型 .HTML .WORD .MARKDOWN
.fileType(EngineFileType.WORD)
// 生成模板实现
.produceType(EngineTemplateType.freemarker)
.build();
// 生成文档配置(包含以下自定义版本号、描述等配置连接)
Configuration config = Configuration.builder()
.version("1.0.1") //可自定义
.description("某某数据库中文文档") //可自定义
.dataSource(dataSourceMysql)
.engineConfig(engineConfig)
.produceConfig(getProcessConfig())
.build();
// 执行生成
new DocumentationExecute(config).execute();
}
/**
* 配置想要生成的表+ 配置想要忽略的表
* @return 生成表配置
*/
public static ProcessConfig getProcessConfig(){
// 忽略表名
List<String> ignoreTableName = Arrays.asList("aa","test_group");
// 忽略表前缀,如忽略a开头的数据库表
List<String> ignorePrefix = Arrays.asList("T_"); //,"t"
// 忽略表后缀
List<String> ignoreSuffix = Arrays.asList("_test","czb_");
return ProcessConfig.builder()
//根据名称指定表生成
.designatedTableName(new ArrayList<>())
//根据表前缀生成
.designatedTablePrefix(new ArrayList<>())
//根据表后缀生成
.designatedTableSuffix(new ArrayList<>())
//忽略表名
.ignoreTableName(ignoreTableName)
//忽略表前缀
.ignoreTablePrefix(ignorePrefix).build();
//忽略表后缀
.ignoreTableSuffix(ignoreSuffix).build();
}
}
5、参考
生成数据库文档 —— Spring Boot + Screw的更多相关文章
- screw一键生成数据库文档
1. 简介 在项目开发和交付阶段,数据库文档是必不可少的.对于大型项目多个数据库几百甚至几千张表来说,手写数据库文档必然是耗时且痛苦的.因此需要一个插件自动生成文档. screw提供了多种文件 ...
- 实用!一键生成数据库文档,堪称数据库界的Swagger
本文收录在个人博客:www.chengxy-nds.top,技术资料共享,同进步 最近部门订单业务调整,收拢其他业务线的下单入口,做个统一大订单平台.需要梳理各业务线的数据表,但每个业务线库都有近百张 ...
- 一键生成数据库文档,堪称数据库界的Swagger,有点厉害
最近部门订单业务调整,收拢其他业务线的下单入口,做个统一大订单平台.需要梳理各业务线的数据表,但每个业务线库都有近百张和订单相关的表,挨个表一个一个字段的弄脑瓜子嗡嗡的. 为了不重复 CV 操作,抱着 ...
- 数据库界的Swagger:一键生成数据库文档!
对于开发的API文档,我们可以通过Swagger等工具来自动生成了.但是对于数据库表结构的文档呢,在实际开发中在开发前我们一般会先设计好表结构,大家讨论一下, 这个时候就很需要有个数据库表结构的文档, ...
- 基于数据库的自动化生成工具,自动生成JavaBean、自动生成数据库文档等(v4.1.2版)
目录: 第1版:http://blog.csdn.net/vipbooks/article/details/51912143 第2版:htt ...
- python 3.7 生成数据库文档
开发阶段数据库总是有变动,开发人员需要维护文档给相关人员使用,故编写一个脚本自动生成数据库文档 生成的excel如下 import cx_Oracle import os from openpyxl ...
- 基于数据库的代码自动生成工具,生成JavaBean、生成数据库文档、生成前后端代码等(v6.0.0版)
TableGo v6.0.0 版震撼发布,此次版本更新如下: 1.UI界面大改版,组件大调整,提升界面功能的可扩展性. 2.新增BeautyEye主题,界面更加清新美观,也可以通过配置切换到原生Jav ...
- java基础---->使用Itext生成数据库文档
这里简单的介绍一下使用Itext生成数据库表的文档.于是我们领教了世界是何等凶顽,同时又得知世界也可以变得温存和美好. 生成数据库的文档 一.maven项目需要引入的jar依赖 <depende ...
- sqlserver 脚本生成数据库文档
SELECT ( then d.name else '' end)表名, --a.colorder 字段序号, a.name 字段名, --(case ...
- 【C#附源码】数据库文档生成工具支持(Excel+Html)
[2015] 很多时候,我们在生成数据库文档时,使用某些工具,可效果总不理想,不是内容不详细,就是表现效果一般般.很多还是word.html的.看着真是别扭.本人习惯用Excel,所以闲暇时,就简单的 ...
随机推荐
- Strapi入门记--01创建项目,账户,测试表,测试接口
Strapi 是什么 中文文档地址 Strapi 是一个开源的无头 CMS,开发人员可以自由选择他们喜欢的工具和框架,并允许编辑使用他们的应用程序的管理面板来管理和分发他们的内容.基于一个插件系统,S ...
- 关于 Dev-C++ 中缺少 iconv.h 的问题
前言 在 C++ 中有个扩展库 ext,里面有一些黑科技(hash, splay, binomial_heap 等等), 在 Windows 环境中,我们运行 Dev-C++ 并在头文件写 #incl ...
- IDEA手动导入jar包到maven本地库
第一步:下载需要的jar包 第二步:file project structure-liberaries 第三步:点击+号-选择java,再选择刚才下载的jar包,ok 此时我们把jar包加到项目了,但 ...
- Docker中apt-get update失败解决方案
一.更换apt的镜像源 1. 进入目录 cd /etc/apt 2. 备份源文件 cp /etc/apt/sources.list /etc/apt/sources.list.bak 3. 更改镜像源 ...
- CodeSmith 简单使用和常用模板
1.简介 CodeSmith 是一种基于模板的代码生成工具,它使用类似于 ASP.NET的语法来生成任意类型的代码或文本. 2.软件布局 整体布局和visual studio系列相似,用过VS开发对此 ...
- vue开发大屏项目屏幕适配问题解决方案
1.新建自定义指令文件如下: 2.文件中插入一下代码: import { App, Directive, DirectiveBinding, nextTick } from 'vue' import ...
- 推荐一款.Net Core开发的后台管理系统YiShaAdmin
若依(RuoYi)是码云上一款精美的开源快速开发平台,作者毫无保留给个人及企业免费使用.RuoYi目前有三个版本:普通版本(RuoYi).前后端分离版本(RuoYi-Vue).微服务版本(RuoYi- ...
- Powershell删除文本指定内容所在行以下内容
需求:批量获取文本指定内容所在行以下内容(含当前行) 解决方案:使用Powershell脚本处理 案例: 获取当前文件夹下所有txt文件 含文本"4"所在行以下内容(含当前行) 如 ...
- 接口自动化库-apist
前言 目前很多公司用jmeter或者RF框架来实现接口自动化,确实是可以实现,但不利于CI/CD. 为了方便后续的可拓展性.可维护性.可复用性,项目leader在技术选型的时候应当以趋势.主流的为主, ...
- mac os黑苹果安装
前言 习惯了mac敲代码的攻城师很难再去适应windows,那么如何在windows上安装苹果系统呢?用黑苹果. 关于黑苹果的安装,网上的一大堆教程显得过于啰嗦,又是安装Unlocker破解mac限制 ...