如何生成数据库设计文档
如何生成数据库设计文档
- screw
- 什么是screw
- 特点
- 支持生成的文档类型
- 目前支持的数据库类型
- 支持的模板类型
- 如何使用?
- 遇到的问题
screw
官网地址:
https://gitee.com/leshalv/screw/
什么是screw
screw是简洁好用的数据库表结构文档生成工具。
特点
- 简洁、轻量、设计良好
- 多数据库支持
- 多种格式文档
- 灵活扩展
- 支持自定义模板
支持生成的文档类型
- html
- word
- markdown
目前支持的数据库类型
MySQL
MariaDB
TIDB
Oracle
SqlServer
PostgreSQL
Cache DB(2016)
支持的模板类型
- freemarker
- velocity
如何使用?
- 引入maven依赖
<dependency><groupId>cn.smallbun.screw</groupId><artifactId>screw-core</artifactId><version>1.0.3</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;
import java.security.MessageDigest;
import java.util.Arrays;
import java.util.List;
import java.util.Random;public class Test {public static void main(String[] args) {// 数据源HikariConfig hikariConfig = new HikariConfig();hikariConfig.setDriverClassName("com.mysql.cj.jdbc.Driver");hikariConfig.setJdbcUrl("jdbc:mysql://192.168.200.222:3306/bjs?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=false&allowPublicKeyRetrieval=true");hikariConfig.setUsername("root");hikariConfig.setPassword("root");// 设置可以获取tables remarks信息hikariConfig.addDataSourceProperty("useInformationSchema", "true");hikariConfig.setMinimumIdle(2);hikariConfig.setMaximumPoolSize(5);DataSource dataSource = new HikariDataSource(hikariConfig);// 1、生成文件配置EngineConfig engineConfig = EngineConfig.builder()// 生成文件路径.fileOutputDir("E:\\北交所")// 打开目录.openOutputDir(false)// 文件类型.fileType(EngineFileType.HTML)// 生成模板实现.produceType(EngineTemplateType.freemarker).build();// 忽略表名List<String> ignoreTableName = Arrays.asList("test");// 忽略表前缀List<String> ignorePrefix = Arrays.asList("test_", "test");// 忽略表后缀List<String> ignoreSuffix = Arrays.asList("_test", "test");// 2、配置想要忽略的表ProcessConfig processConfig = ProcessConfig.builder().ignoreTableName(ignoreTableName).ignoreTablePrefix(ignorePrefix).ignoreTableSuffix(ignoreSuffix).build();// 3、生成文档配置(包含以下自定义版本号、描述等配置连接)Configuration config = Configuration.builder().version("1.0.0").description("数据库文档").dataSource(dataSource).engineConfig(engineConfig).produceConfig(processConfig).build();// 4、执行生成new DocumentationExecute(config).execute();}}
- 生成文档(我生成的是Html,以下是截图)
遇到的问题
运行测试类,报下图的错误,错误信息是Jar包冲突,依赖screw后与项目原来依赖的jar包冲突了。
解决办法:排除冲突的依赖
<!-- screw核心 --><dependency><groupId>cn.smallbun.screw</groupId><artifactId>screw-core</artifactId><version>1.0.3</version><exclusions><exclusion><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId></exclusion></exclusions></dependency>
如何生成数据库设计文档相关推荐
- 生成数据库设计文档小技巧
目录 生成数据库设计文档小技巧 利用数据库自身功能生成excel和word文档 使用的软件环境说明 查询所有表名 查询所有列名 设置excel 生成数据库设计文档小技巧 利用数据库自身功能生成exce ...
- 自动生成数据库设计文档利器
目录 1.前言介绍 2.功能说明 3.编码实战 1.新建项目 2.导入依赖 3.启动类 4.工具类 5.测试 1.前言介绍 今天给大家介绍一款非常还用的小工具,专门用到生成数据库设计文档的,非常简单. ...
- Java自动生成数据库设计文档(Word)
一.前言 在日常的开发工作中,偶尔会遇到项目收尾需要提供数据库设计文档的情况.对这个文档的编写目前应该已经基本没有问题了,如果你还不知道如何编写该文档,可以参考如下文章. https://blog.c ...
- mysql自动生成数据库设计文档
mysql生成数据库设计文档 引入jar包 <!-- screw核心 --> <dependency><groupId>cn.smallbun.screw</ ...
- SpringBoot 生成数据库设计文档工具
1.在项目的pom.xml里加上以上代码,配置想要生成的数据库的信息 <build><plugins><plugin><groupId>org.spri ...
- 用PDMReader工具生成数据库设计文档
你是否在为写庞大的数据库设计文档发愁,帮你轻松搞定,前提是你需要有pdm文件! 第一步:下载并安装PDMReader(见我的资源里); 第二步:打开PDMReader,新建项目:test: 第三步:在 ...
- PowerDesigner生成数据库设计文档
1.说明 使用PowerDesigner设计数据库表, 基于PowerDesigner设计数据库表, 生成数据库对应的表设计文档, PowerDesigner支持生成HTML.RTF和本地格式的文档, ...
- 通过表结构生成数据库设计文档
技术实现:Screw+javaFX 作用:通过引入screw核心包来实现Java 数据库文档,一键生成支持的数据库列表:MySQL .MariaDB .TIDB. Oracle. SqlServer. ...
- Navicat 快速生成数据库设计文档
SELECTCOLUMN_NAME 列名,COLUMN_TYPE 数据类型,DATA_TYPE 字段类型,CHARACTER_MAXIMUM_LENGTH 长度,IS_NULLABLE 是否为空,CO ...
最新文章
- 转载----Python的zip()函数
- 未转变者空投指令服务器,未转变者空投指令 | 手游网游页游攻略大全
- 把有限的精力放在最有意义的事上
- 百度知道回答的依赖注入
- scala 当前日期_如何在Scala中检查当前日期和时间?
- Ubuntu下安装Rabbitmq和golang环境
- java fork join demo_Fork/Join框架 demo
- 用java web实现聊天室_java web实现简单聊天室
- 微信小程序picker选择器(下拉框)以及传值问题
- CTF密码图鉴(持续更新)
- 火狐浏览器批量保存网页图片
- 如何使用CE来修改游戏并制作一个修改器
- 使用vi编辑器编辑一个C语言源程序hello.c,并使用编译工具GCC编译该源程序。
- 工作的工资是怎么算的
- BAT资深算法工程师「Deep Learning」读书系列分享(一) | 分享总结
- S3DIS数据集学习笔记
- h5 苹果IOS端 播放mp3 没声音
- 人体红外模块对比评测,是你的话怎么选
- pixel-wise,patch-wise,image-wise的含义
- C++使用winhttp以POST/GET方法实现报文转发与接收
热门文章
- python爬虫爬取东方财富网股票走势+一些信息
- 最短路——最短路计数(spfa)
- Android 给RecyclerView添加头部和尾部
- EEPROM, NAND FLASH, NOR FLASH
- java实现图片上传至本地
- ZPL命令打印出的一维码扫码枪不识别问题
- tar.gz00 xxx.tar.gz01 xxx.tar.gz02……解压
- 【应届生笔试资料分享二】中国农业银行相关介绍汇总
- “无法访问此网站”的一些原因
- 输入一个字符,判断输入的是控制字符、数字、大小写字母还是其他字符,并给出相应提示