大家好,我是大华! 最近在项目上,经常要整理数据库文档,实在是有点烦。 表结构改了,文档还得手动更新,经常出现文档跟实际对不上的情况。于是抽空写了个小工具,感觉还挺实用的。
今天给大家分享一下,项目源码在文末了哦~
这个工具能做什么?
简单说,就是自动生成数据库文档。
比如你有个MySQL数据库,输入连接信息,它就能把所有的表结构、字段注释、索引信息都解析出来,生成一份清晰的文档。
也支持直接上传SQL文件。有时候我们只有建表语句,把SQL文件丢进去,它也能分析出表结构来生成文档。
来看看操作效果图。
1. 输入数据库连接信息
信息输入后点击生成文档,生成的文档可以在线查看,也可以直接导出。

同时还支持上传sql文件生成

2. 导出的 HTML 文档
HTML的格式似乎略丑了点。

3. 导出的 Markdown 文档
因为我用的是在线文档,导出Markdown的格式也漂亮多了,推荐导出的格式。


下面是我把文档内容复制到飞书在线文档的效果,看起来清爽了。

可以把文档内容复制到任意支持Markdown格式的文档,改数据库的时候,直接再次生成就行啦。
输出格式
可以导出两种格式:
- HTML:在浏览器里查看比较方便,样式也挺清爽的
- Markdown:适合写技术文档的时候用
技术实现
后端用的是SpringBoot3,前端是Vue3 + TypeScript。数据库操作用了MyBatisPlus,有完整的注册和登录功能。
代码结构比较清晰:
bash
database-document-springboot/
├── sql/ # SQL文件
├── src/main/java/com/document/
│ ├── config/ # 配置类
│ ├── controller/ # 控制器层
│ ├── service/ # 业务逻辑层
│ ├── mapper/ # 数据访问层
│ ├── entity/ # 实体类
│ ├── dto/ # 数据传输对象
│ └── common/ # 通用组件
│ └── filter/ # 过滤器
│ └── handler # 异常处理
│ └── vo # 视图对象
├── src/main/resources/
│ └── application.yml # 应用配置
└── database-document-vue3/
├── src/views/ # 页面组件
├── src/components/ # 业务组件
├── src/stores/ # 状态管理
├── src/api/ # 接口管理
├── src/types/ # TypeScript类型
├── src/router/ # 路由配置
└── src/styles/ # 样式文件
使用场景
在实际项目中,这几个场景比较有用:
新同事熟悉项目:以前要挨个表解释,现在直接给文档,省事很多。
前后端联调:字段说明、数据类型都很清楚,减少沟通成本。
项目文档:数据库设计文档是项目交付的必备材料,用这个工具生成既准确又省时间。
使用方法
项目地址: 后端:gitee.com/liuchanghua... 前端:gitee.com/liuchanghua...
后端:
bash
git clone https://gitee.com/liuchanghua/database-document-springboot.git
# 配一下数据库,启动就行
前端:
bash
git clone https://gitee.com/liuchanghua/database-document-vue3.git
npm install
npm run dev
写在最后
这个工具其实挺简单的,就是解决了实际开发中的一个小痛点。如果你也经常需要整理数据库文档,可以试试看,应该能节省不少时间。
如果有什么建议或者发现了bug,欢迎反馈。觉得有用的话,给个Star鼓励一下就更好了。
本文首发于公众号:程序员刘大华,专注分享前后端开发的实战笔记。关注我,少走弯路,一起进步!
📌往期精彩
《MySQL 为什么不推荐用雪花ID 和 UUID 做主键?》