数据库文档生成工具使用方法
程序员文章站
2022-03-15 19:39:32
...
数据库文档生成工具使用方法
使用工具screw
数据库支持
- MySQL
- MariaDB
- TIDB
- Oracle
- SqlServer
- PostgreSQL
- Cache DB(2016)
文档生成支持
-
word
-
html
-
markdown
我们这里统一使用word文档
整合的工具类
最好将生成类型和配置添加到test文件夹下。
引入依赖
<!-- 必须添加 生成数据库文档-->
<dependency>
<groupId>cn.smallbun.screw</groupId>
<artifactId>screw-core</artifactId>
<version>1.0.5</version>
<scope>test</scope>
</dependency>
<!-- 可选 lombok-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.6</version>
</dependency>
生成类
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 javax.sql.DataSource;
/**
* @description: <br/>
* 生成数据库文档
* <p>
* <br/>
* @author: Qz1997
* @create 2021/7/28 9:23
*/
public class GenerationDatabaseWord {
/**
* 生成数据库文档
*
* @param args 服务运行参数
*/
public static void main(String[] args) {
GenerationDataBaseParam param = new GenerationDataBaseParam();
// 数据库驱动类
param.setDriverClassName("com.mysql.cj.jdbc.Driver");
// 数据库地址 注意添加: characterEncoding=utf-8 指定字符集
param.setJdbcUrl("jdbc:mysql://localhost:3306/qzboot?serverTimezone=GMT%2B8&useSSL=false&useOldAliasMetadataBehavior=true&useUnicode=true&characterEncoding=utf8");
// 数据库用户名
param.setUsername("root");
// 数据库密码
param.setPassword("root");
// 生成文档路径
param.setFileOutputDir("C:\\Users\\Administrator\\Desktop\\");
// 生成文档名称 注意: 不需要加文件后缀
param.setFileName("测试数据库文档");
// 文档版本
param.setVersion("1.0.0");
// 文档描述
param.setDescription("数据库设计文档生成");
// 生成逻辑
ProcessConfig processConfig = ProcessConfig.builder().build();
// 指定生成逻辑、当存在指定表、指定表前缀、指定表后缀时,将生成指定表,其余表不生成、并跳过忽略表配置
// ProcessConfig processConfig = ProcessConfig.builder()
// // 根据名称指定表生成
// .designatedTableName(new ArrayList<>())
// // 根据表前缀生成
// .designatedTablePrefix(new ArrayList<>())
// // 根据表后缀生成
// .designatedTableSuffix(new ArrayList<>())
// // 忽略表名
// .ignoreTableName(ignoreTableName)
// // 忽略表前缀
// .ignoreTablePrefix(ignorePrefix)
// // 忽略表后缀
// .ignoreTableSuffix(ignoreSuffix).build();
GenerationDatabaseWord.documentGeneration(param, processConfig);
}
/**
* 文档生成
*
* @param param 生成文档相关参数
* @param processConfig 生成逻辑
*/
private static void documentGeneration(GenerationDataBaseParam param, ProcessConfig processConfig) {
// 数据源
HikariConfig hikariConfig = new HikariConfig();
hikariConfig.setDriverClassName(param.getDriverClassName());
hikariConfig.setJdbcUrl(param.getJdbcUrl());
hikariConfig.setUsername(param.getUsername());
hikariConfig.setPassword(param.getPassword());
// 设置可以获取tables remarks信息
hikariConfig.addDataSourceProperty("useInformationSchema", "true");
hikariConfig.setMinimumIdle(2);
hikariConfig.setMaximumPoolSize(5);
DataSource dataSource = new HikariDataSource(hikariConfig);
// 生成配置
EngineConfig engineConfig = EngineConfig.builder().fileOutputDir(param.getFileOutputDir())
// 生成文件后是否打开文件夹
.openOutputDir(true)
// 生成文档类型 我们这里统一使用 word
.fileType(EngineFileType.WORD)
// 模版引擎选择 我们这里统一使用 freemarker
.produceType(EngineTemplateType.freemarker)
.fileName(param.getFileName()).build();
// 配置
Configuration config = Configuration.builder().version(param.getVersion()).description(param.getDescription())
.dataSource(dataSource).engineConfig(engineConfig).produceConfig(processConfig).build();
// 执行生成
new DocumentationExecute(config).execute();
}
}
配置类
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @description: <br/>
* 生成配置项
* <p>
* <br/>
* @author: Qz1997
* @create 2021/7/28 9:46
*/
// 如果没有lombok 自行删除注解 生成get set 方法
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class GenerationDataBaseParam implements Serializable {
private static final long serialVersionUID = 4588256220056333589L;
/**
* 数据库驱动
*/
private String driverClassName;
/**
* 数据库地址
*/
private String jdbcUrl;
/**
* 数据库用户名
*/
private String username;
/**
* 数据库密码
*/
private String password;
/**
* 文档生成地址
*/
private String fileOutputDir;
/**
* 文件名称
*/
private String fileName;
/**
* 文档版本
*/
private String version;
/**
* 文档描述
*/
private String description;
}
下一篇: 清除系统垃圾文件.bat
推荐阅读
-
php文档工具PHP Documentor安装与使用方法
-
在代码生成工具Database2Sharp中使用ODP.NET(Oracle.ManagedDataAccess.dll)访问Oracle数据库,实现免安装Oracle客户端,兼容32位64位Oracle驱动
-
ActionScript的API文档生成工具ASDoc
-
oracle数据库自动生成数据库表结构文档(亲测有效)
-
php将数据库中所有内容生成静态html文档的代码
-
MySQL数据库生成数据库说明文档
-
dedecms生成文档数据库崩溃 mysql daemon failed to start
-
Python文档生成工具pydoc使用介绍
-
HeidiSQl使用方法(mysql数据库管理工具)
-
入门:Illustrator CS5形状生成器工具使用方法介绍