t通过数据库逆向生成文档工具——screw
目录
一、pom.xml准备
二、工具类配置及生成
三、导出示例(html)
四、说明
目标
将数据库表字段分表生成表单,自动对应表字段以及注释,可导出为 html | doc | md 文件
一、pom.xml准备
<!-- screw核心 -->
<dependency>
<groupId>cn.smallbun.screw</groupId>
<artifactId>screw-core</artifactId>
<version>1.0.3</version>
</dependency>
二、工具类配置及生成
修改数据库连接信息,直接运行即可。
默认导出文件为html格式,导出到D盘,如果没有特殊的要求,其他的配置不用更改。
@Test
public void contextLoads() {//数据源HikariConfig hikariConfig = new HikariConfig();hikariConfig.setDriverClassName("com.mysql.cj.jdbc.Driver");hikariConfig.setJdbcUrl("jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF8&failOverReadOnly=false&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=Asia/Shanghai");hikariConfig.setUsername("root");hikariConfig.setPassword("");//设置可以获取tables remarks信息hikariConfig.addDataSourceProperty("useInformationSchema", "true");hikariConfig.setMinimumIdle(2);hikariConfig.setMaximumPoolSize(5);DataSource dataSource = new HikariDataSource(hikariConfig);// 生成文件配置EngineConfig engineConfig = EngineConfig.builder()// 生成文件路径,自己mac本地的地址,这里需要自己更换下路径.fileOutputDir("D:\\temp")// 打开目录.openOutputDir(false)// 文件类型.fileType(EngineFileType.HTML)// 生成模板实现.produceType(EngineTemplateType.freemarker).build();// 生成文档配置(包含以下自定义版本号、描述等配置连接)Configuration config = Configuration.builder().version("1.0.3").description("生成文档信息描述").dataSource(dataSource).engineConfig(engineConfig).produceConfig(getProcessConfig()).build();// 执行生成new DocumentationExecute(config).execute();
}/*** 配置想要生成的表+ 配置想要忽略的表* @return 生成表配置*/
public static ProcessConfig getProcessConfig(){// 忽略表名List<String> ignoreTableName = Arrays.asList("");// 忽略表前缀,如忽略a开头的数据库表List<String> ignorePrefix = Arrays.asList("a");// 忽略表后缀List<String> ignoreSuffix = Arrays.asList("_test","_czb");return ProcessConfig.builder()//根据名称指定表生成.designatedTableName(new ArrayList<>())//根据表前缀生成.designatedTablePrefix(new ArrayList<>())//根据表后缀生成.designatedTableSuffix(new ArrayList<>())//忽略表名.ignoreTableName(ignoreTableName)//忽略表前缀.ignoreTablePrefix(ignorePrefix)//忽略表后缀.ignoreTableSuffix(ignoreSuffix).build();
}
三、导出示例(html)
数据库设计文档
数据库名:test
文档版本:1.0.3
文档描述:生成文档信息描述
序号 | 表名 | 说明 |
1 | batch_job_execution_seq | |
2 | batch_job_instance | |
3 | batch_job_seq | |
4 | batch_step_execution_seq | |
5 | t_channel_file_notify | 渠道文件通知记录表 |
6 | t_contract_data | 合同数据表 |
7 | t_contract_file | |
8 | t_core_deal_data | 代偿赎回核心交易数据表 |
9 | t_core_deal_sum | 核心交易数据汇总表 |
10 | t_fee_subject | 费用科目表 |
11 | t_fee_type | 费用类型表 |
12 | t_fund_use_notify | 资金使用通知 |
13 | t_loan_subject_info | 科目信息 |
14 | t_mer_acct | 渠道商户账户表 |
15 | t_mer_acct_set | 渠道商户账户设置表 |
16 | t_pay_info | 支付信息表 |
17 | t_settle_data | 结算数据表 |
18 | t_settle_deal_data | (代收 结清 对公)交易数据表 |
19 | t_settle_fee_type_data | 结算费用数据 |
20 | t_settle_order | 结算单表 |
21 | t_settle_rule | 结算规则表 |
22 | t_settle_rule_active | 结算待激活规则表 |
23 | t_settle_rule_history | 结算规则历史表 |
24 | t_settle_voucher | 结算凭证表 |
25 | t_settle_voucher_detail | 结算凭证明细表 |
26 | t_system_param | 系统参数表 |
返回目录表名:batch_job_execution_seq
说明:
数据列:
序号 | 名称 | 数据类型 | 长度 | 小数位 | 允许空值 | 主键 | 默认值 | 说明 |
1 | ID | bigint | 19 | 0 | N | N | ||
2 | UNIQUE_KEY | char | 1 | 0 | N | N |
四、说明
数据库支持
MySQL、MariaDB、TIDB、Oracle、SqlServer、PostgreSQL、Cache DB
文件类型
EngineFileType枚举类中提供三种类型:HTML、WORD、MD。
模板类型
EngineTemplateType枚举类中提供两种类型:freemarker、velocity。
生成方式
一种是代码生成,还有一种是通过Maven打包生成,私以为直接用工具类比较方便直接。
t通过数据库逆向生成文档工具——screw相关推荐
- Objective-C自动生成文档工具:appledoc
作者 iOS_小松哥 关注 2016.12.13 15:47* 字数 919 阅读 727评论 10喜欢 35 由于最近琐事比较多,所以好久没有写文章了.今天我们聊一聊Objective-C自动生成文 ...
- Objective-C 自动生成文档工具:appledoc
来源:iOS_小松哥 www.jianshu.com/p/fd4d8d6b6177 如有好文章投稿,请点击 → 这里了解详情 由于最近琐事比较多,所以好久没有写文章了.今天我们聊一聊Objective ...
- swift生成文档工具-jazzy的使用教程
Jazzy 介绍 jazzy是一个命令行实用程序,可为Swift或Objective-C生成文档,输出风格和官方文档匹配(也可以自定义模板),如下图所示 要求 1.支持Xcode和SPM项目 2.建议 ...
- 项目实战-自动生成文档工具
1.pom 文件 <dependency><groupId>cn.smallbun.screw</groupId><artifactId>screw-c ...
- js代码注释生成文档工具-jsdoc
需求 将js和ts的代码注释生成api文档 思路 先将ts转成js,再统一处理js文件,用jsdoc工具来生成html文件. JsDoc 是js文档生成工具,它从javascript程序源代码中抽取类 ...
- docwizard c++程序文档自动生成工具_如何开发一个基于 TypeScript 的工具库并自动生成文档
为什么用 TypeScript? TypeScript is a typed superset of JavaScript that compiles to plain JavaScript. Any ...
- Doxygen——根据代码注释生成文档的工具
文章目录 1 简介 2 安装 3 使用 3.1 注释代码 3.2 使用doxywizard生成文档 4 用例 4.1 OpenCV 4.2 Apollo 5 参考 1 简介 Doxygen是一个可以根 ...
- 测试接口生成文档的工具 APIFOX
超乎意料好用的接口测试工具! 和Postman相似的操作流程,能测试接口,能自动生成文档,支持不同环境的变量配置,支持保存测试用例,支持导入其他软件的测试接口文件,支持多人在线查看和测试接口,支持多项 ...
- WebApi实现验证授权Token,WebApi生成文档等 - CSDN博客
原文:WebApi实现验证授权Token,WebApi生成文档等 - CSDN博客 [csharp] view plain copy print? using System; using System ...
最新文章
- JavaScript 开发进阶:理解 JavaScript 作用域和作用域链(上)
- log4j监控mybatis的普通配置
- 李宏毅机器学习(九)Multi-lingual BERT
- Scala 面向对象编程
- (转)Hibernate的配置详解
- Stopping filebeat
- 如何用软件测试交易系统的胜率,无未来测试胜率99.78%的交易系统附公式 飞狐交易系统胜率指标 源码...
- World Currency Symbols世界货币符号
- Android9.0 HIDL头文件加log编译
- db2去除字段值的空格_sql trim()函数去掉两头空格
- Linux就这个范儿 第16章 谁都可以从头再来--从头开始编译一套Linux系统 nsswitch.conf配置文件...
- Ubuntu 22.04下安装配置rime五笔输入法
- 【PHP】获取浏览器HTTP请求header信息、获取服务器HTTP响应header信息
- HTML5期末大作业:关于旅游网站设计——天津旅游(11页) 简单个人网页设计作业 静态HTML个人博客主页 DW个人网站模板下载 大学生简单个人网页作品代码 个人网页制作 学生个人网页设计作业
- 昆仑通泰mcgs触摸屏和台达VFD-M变频器的rtu通讯示例
- Julia 学习笔记(五) | 模块开发 - 保姆级教程
- 「老文补发」写在GitBubble上线之后
- 普华商业集团入选“2020年中国区块链典型企业名录”
- Hive分桶表插入数据报错“(The ownership on the staging directory /tmp/hadoop-yarn/staging/root/.staging is not”
- 怎样使用《Felomeng家庭理财》进行理财?