# screw-gui **Repository Path**: nothing2019/screw-gui ## Basic Information - **Project Name**: screw-gui - **Description**: 基于screw 数据库GUI文档工具, 基于swing开发, 为了脱离IDE,独立生成数据库文档 - **Primary Language**: Java - **License**: LGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 3 - **Created**: 2023-03-20 - **Last Updated**: 2023-03-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 前言 为什么萌生了写文档工具得想法,因为在项目开发得过程中,经常需要补充一些文档,比如数据库文档、详细设计文档等等,文档与项目相绑定,在项目需求新增或变更时,文档也需要反反复复得修改。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/30a0a5ac3ab5493aab676c45e271a662.png) ### 1. 数据库文档工具 [Screw](https://gitee.com/leshalv/screw.git) 是个不错sdk, 可以方便得生成数据库文档 。 + 支持maven插件方式构建文档 + 支持main方法方式生成文档 不管什么方式,还是跟项目相绑定,有时候想写文档得时候,不太关注程序。不想单独启动IDE只是为了运行生成文档。 不想使用Navicat 特意查看数据库信息,所以构建了该小工具。 #### 1.1 功能简介 目前只支持 mysql和sqlite3 常用信息默认已经初始化,只需要修改保存目录和文件名称即可 连接测试:验证数据库信息是否正确 预览库: 查看数据表信息和表结构 备份: 保存数据库连接信息 历史备份:加载历史数据库连接信息,内置删除和编辑功能 > ps: 第二次生成时 ,文件目录和名称未修改,若文件已在word或wps打开,因为文件被占用所以生成失败 #### 1.2 使用示例 ![在这里插入图片描述](https://img-blog.csdnimg.cn/5168a6c58663480888324051ed002103.gif) #### 1.3 补充说明 + QA: screw 支持多个数据库, 为什么工具不支持 1. 因为平时工作只用mysql, 而且版本为5.7,所以maven依赖中只添加了mysql依赖 ```java mysql mysql-connector-java 8.0.29 ``` 2. 增加screw支持的数据库, screw-swing -->pom.xml 添加依赖, 打包即可 ### 2. swagger文档工具 在开发时经常使用swagger 文档,比较好用得算 Knife4j。swagger2 后来又升级迭代为openApi3,常用注解变更挺大,所以需要写2种方式parser转换器,该工具得初衷也只是本地不启动服务得同时,直接访问测试环境得API接口就可以生成文档。 #### 2.1 功能简介 1. 选择API类型 2. 修改保存目录和文件名称 3. 填写swagger地址,http开头则使用get方法请求json信息 或直接填写json信息。 4. 生成即可 > ps: 第二次生成时 ,文件目录和名称未修改,若文件已在word或wps打开,因为文件被占用所以生成失败 #### 2.2 使用示例 ![在这里插入图片描述](https://img-blog.csdnimg.cn/c7753f0297db49a3becba81f089f610a.gif) #### 1.3 补充说明 + QA: 文档格式不喜欢,怎么自定义 模板基于beetl 设置, 找到screw-swing-->resources-->templates-->word.btl . ![在这里插入图片描述](https://img-blog.csdnimg.cn/09f1518b1af34dfe977901a8dbe198b9.png) ### 3.如何下载 #### 3.1 项目地址 项目已上传至码云:[码云screw-gui](https://gitee.com/liveBetter/screw-gui.git) + build 目录可以下载可执行jar和exe (免安装) ![在这里插入图片描述](https://img-blog.csdnimg.cn/7794fae702b44c1a82fb47b853d50086.png) #### 3.2 模块依赖关系 ```mermaid graph LR screw(screw-gui) db[note-swing-db] tool[note-service-toolkit] core[note-swing-core] screw--依赖-->db--依赖-->tool--依赖-->core ``` #### 3.3 补充说明 QA: 为什么简单的工具, 但是项目这么臃肿 note-开头的工程 ,都是个人项目基础依赖, 因为有时候在写其他的工具的时候用到. 但是如果不提供这些工程,你无法在IDE中顺利编译. 当然可以使用lib形式引用, 使项目看起来更简洁。 ### 4. 其他说明 + QA: 本地安装java环境但是无法运行 该程序基于jdk1.8+和swing开发,java版本可能过低。 exe4j打包时寻找环境变量顺序如图,找不到环境变量则无法运行。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/de54a9aca6bd45f8b2451c479456f2cc.png) + QA: 是否可以本地不安装java环境并运行工具 下载jar包,使用exe4j 打包exe时内嵌jre ,可以在未安装java环境的系统中运行,但是因为jre的大小,文件大小会从6MB -->160MB左右 + QA: 非windows系统如何使用 java -jar screw-gui.jar 或者使用工具打包为相应系统可执行程序