这是一套实用性极强的数据生成平台项目教程,基于 Spring Boot + React 开发 SQL 模拟数据生成工具,让你告别重复写 SQL 建表和造假数据的麻烦,大幅提高开发测试效率!
SQL 数据生成平台解决的核心问题很简单也很实用:如果你做新项目的时候,不用写建表 SQL、不用造数据,能直接得到一个造好了假数据的表,那该有多好~
在线体验:http://sqlfather.yupi.icu
视频演示(使用教程):https://www.bilibili.com/video/BV1eP411N7B7/
前端代码仓库:https://github.com/liyupi/sql-father-frontend-public
后端代码仓库:https://github.com/liyupi/sql-father-backend-public

项目的核心价值在于其强大的智能转换能力,你可以通过多种方式快速生成表结构:
此外,平台还提供了丰富的数据生成规则,包括固定值、随机值、正则表达式、递增值,甚至支持选择词库来生成特定范围内的随机值。而且鱼皮还为它设计了社区能力,支持词库、表设计、字段信息的共享,也让团队协作变得更加高效。
当然,学会这个项目后,你不仅能开发出实用的数据生成工具,更重要的是能掌握一套完整的产品级项目开发经验,对提升编程能力很有帮助!
这个项目实用性强,真正解决了开发者日常工作中的痛点。通过学习这个项目,你将掌握从需求分析到产品上线的完整开发流程,积累宝贵的项目经验。
你将学会下面的知识和技能:
除了技术层面,项目的架构设计也很有学习价值。整个系统采用 “任意输入 => 统一 Schema => 任意输出” 的核心设计理念,这种架构思想在很多场景下都能应用,比如数据转换、格式适配等。
项目还有其他优势:
鱼皮原创项目系列以 实战 为主,用 全程直播 的方式,从 0 到 1 带大家学习技术知识,并立即实践运用到项目中,做到学以致用。
此外,还提供如下服务:
比起看网上的教程学习,鱼皮项目系列的优势:从学知识 => 实践项目 => 复习笔记 => 项目答疑 => 简历写法 => 面试题解的一条龙服务
从需求分析、技术选型、项目设计、项目初始化、Demo 编写、前后端开发实现、项目优化、部署上线等,每个环节我都 从理论到实践 给大家讲的明明白白、每个细节都不放过!
| 对比维度 | 跟学鱼皮项目 | 自学网上免费项目 | ⭐️ 鱼皮项目优势 |
|---|---|---|---|
| 项目选题 | ✅ 选题新颖,刻意避开网上热门项目 | 传统项目场景(博客、商城、管理系统) | 增加区分度,提高简历通过率 |
| 学习人数 | ✅ 少,不容易撞车 | 百万以上,烂大街 | 增加区分度,提高简历通过率 |
| 教学方式 | ✅ 全程直播,带你敲每一行代码、带你踩坑和解决 Bug,不漏过每一个细节 | 录制课程,视频虽然看起来简短、一帆风顺,但你遇到错误无从下手 | 降低学习门槛,减少学习时长 |
| 直播笔记 | ✅ 详细的官方笔记 + 精选学员优质笔记 | 有笔记,但未经筛选 | 学到更多知识细节 |
| 视频内容 | ✅ 项目教程 + 经验分享 | 项目教程 | 学到更多编程经验 |
| 项目源码 | ✅ 完整源码仓库 + 每章的提交记录 + 定期更新 | 只有代码包、不更新 | 节省时间,避免踩坑 |
| 项目答疑 | ✅ 各项目交流群 + 答疑解惑 + 常见问题整理 | 无免费的答疑服务,遇到问题自行解决 | 节省时间 |
| 简历写法 | ✅ 现成的简历写法 | 无 | 节省时间、提高简历通过率 |
| 项目扩展 | ✅ 给出扩展思路 + 学员作品共享 | 无 | 开拓思路、拉开和其他人的差距 |
| 项目面试 | ✅ 项目相关面试题、题解和真实面经 | 无 | 提前准备,面试不懵逼 |
编程导航已有 **近 20 套项目教程!**每个项目的学习重点不同,几乎全都是前端 + 后端的 全栈项目 。
详细请见:https://codefather.cn/course(在该页面右侧有教程推荐和学习建议)
往期项目介绍视频:https://bilibili.com/video/BV1YvmbYbEgS

SQL 数据生成平台是一个功能完整的 Web 应用,分为用户前台和管理后台两个部分,为不同类型的用户提供相应的功能。
用户前台主要面向普通开发者,提供数据生成和共享功能。
1)可视化建表功能:用户可以通过直观的表单界面,填写表名、字段名、字段类型、注释等信息,系统会自动生成对应的建表 SQL。这种方式特别适合那些对 SQL 语法不太熟悉,或者希望快速建表的用户。

2)多种快捷导入方式:其中,智能导入功能最为神奇,你只需要输入几个关键词,比如用户名、密码、邮箱,系统就能自动识别并生成完整的用户表结构。

其他:
3)一键生成多种格式:除了基本的 SQL 建表和插入数据语句,平台还能生成 JSON 格式的模拟数据,方便前端开发调试。更有意思的是,它还能生成 Java 实体类代码和前端 TypeScript 类型定义,这对全栈开发者来说非常实用。
4)灵活的模拟数据生成规则:

5)社区共享功能:


此外,平台还提供举报功能,维护社区内容质量。
管理后台主要面向管理员,提供内容管理和用户管理功能。
项目采用前后端分离的架构,技术选型都是当前企业级开发的主流技术栈。
依赖库:
第三方库:
SQL 数据生成平台的核心理念是 任意输入 => 统一 Schema => 任意输出。
这种设计的巧妙之处在于将复杂的业务逻辑进行了有效的解耦。无论用户通过什么方式输入数据(可视化表单、SQL 语句、Excel 文件、智能识别),系统都会将其转换为统一的内部数据结构 TableSchema。然后基于这个统一的 Schema,系统可以生成各种不同格式的输出(SQL 语句、JSON 数据、Java 代码、前端代码等)。
这种架构的优势非常明显:扩展性强,添加新的输入方式或输出格式都不会影响核心逻辑;维护简单,每个模块职责单一,修改某个模块不会影响其他模块;复用性高,核心的 Schema 转换逻辑可以在不同场景下重复使用。

系统被划分为四个核心模块,每个模块都有明确的职责:
1)Schema 构造器模块:负责将各种不同的输入源转为统一的 TableSchema 定义。这个模块的核心类是 TableSchemaBuilder,它提供了多个静态方法来处理不同的输入源。buildFromAuto 方法实现智能构建功能,通过分析用户输入的关键词,从词库中匹配相应的字段信息。buildFromSql 方法使用 Druid SQL 解析器来解析建表语句,这个功能特别强大,能够处理各种复杂的 SQL 语法。buildFromExcel 方法能够从 Excel 文件中提取表头信息,并智能推断字段类型。

2)统一 Schema 定义模块:本质上是一个 Java 类,用 JSON 格式来保存表和字段的完整信息。Schema 的设计非常全面,包含了数据库名、表名、表注释、模拟数据条数等表级信息,以及字段名、字段类型、注释、是否主键、是否自增等字段级信息。更重要的是,Schema 还包含了数据生成规则,如生成类型(固定值、随机值、正则表达式等)和生成参数。
3)生成器模块:负责根据 Schema 生成各种格式的数据和代码。这个模块体现了多种设计模式的应用。对于不同的生成类型,系统定义了不同的 Builder:SqlBuilder 负责生成 SQL 语句,DataBuilder 负责生成模拟数据,JavaCodeBuilder 负责生成 Java 代码,FrontendCodeBuilder 负责生成前端代码,JsonBuilder 负责生成 JSON 数据。这种设计让每个 Builder 都专注于自己的职责,代码结构清晰。

4)共享服务模块:提供词库、表信息、字段信息的共享功能,这些都是标准的 Web 服务,提供增删改查接口。
项目中运用了多种经典的设计模式,这是学习的重点之一。
1)建造者模式:在 Schema 构造和各种代码生成器中都有运用。每个 Builder 都专注于构建特定类型的内容,使用建造者模式让构建过程更加灵活和可控。
2)工厂模式:在数据生成器中体现。DataGeneratorFactory 作为工厂类,根据不同的生成类型创建相应的生成器实例。工厂模式结合单例模式,确保了生成器实例的复用,降低了系统开销。
3)策略模式:在 SQL 生成器中,SqlBuilder 使用方言来支持不同的数据库类型,每种数据库类型对应一个方言策略,目前实现了 MySQL 方言,未来可以轻松扩展支持其他数据库。
4)门面模式:在 GeneratorFacade 类中运用,这个类聚合了各种生成类型,对外提供统一的生成接口,隐藏了内部的复杂性。客户端只需要调用一个方法,就能获得所有类型的生成结果。

在代码生成功能中,项目使用了 FreeMarker 模板引擎,因为代码生成本质上就是模板填充的过程。
java_entity.ftl 模板,能够根据 Schema 信息生成标准的 Java 实体类,包括字段定义、getter/setter 方法、注释等。java_object.ftl 模板,能够生成包含模拟数据的 Java 对象实例化代码。typescript_type.ftl 模板,为前端开发提供类型支持。模板引擎的使用让代码生成功能具有很强的扩展性,要添加新的代码生成类型,只需要编写相应的模板文件即可。

整个架构设计体现了高内聚、低耦合的软件设计原则,每个模块都有明确的职责,模块之间的依赖关系清晰,这种设计让系统具有很好的可维护性和扩展性。
第 1 期:项目总览
项目介绍
项目功能梳理
技术选型
架构设计
学习大纲
第 2 期:系统设计和初始化
第 3 期:后端核心功能开发
第 4 期:智能解析和生成
Druid SQL 解析器应用
Excel 文件解析处理
智能识别功能开发
Web 层开发
第 5 期:前端开发
第 6 期:用户系统和社区功能
第 7 期:部署上线
看完这套教程,你将获得企业级项目开发的宝贵经验,并且能够独立完成类似项目的开发。加油吧鱼友们!

