Java 企业级 SaaS 架构 B2C 微信小程序电商项目实战训练营02-数据库设计
文章目录一、概述二、学习目标与前置知识三、数据库选型与字符集配置3.1 选型配置总览3.2 创建数据库3.3 开发环境数据源配置四、表设计规范——统一标准决定长期可维护性4.1 表名前缀4.2 主键策略4.3 通用字段模板4.4 逻辑删除机制4.5 多租户隔离(app_id)五、数据库表全景总览六、核心业务域表结构详解6.1 系统域超级管理员表 `windshop_admin_user`应用配置表 `windshop_app`微信小程序配置表 `windshop_app_wx`其他系统表6.2 商品域——最复杂的业务域商品主表 `windshop_product`商品分类表 `windshop_product_category`商品 SKU 表 `windshop_product_sku`商品域关系模型6.3 订单域——电商系统的核心订单主表 `windshop_order`订单状态机订单商品表 `windshop_order_product`订单域其他关联表6.4 用户域用户实体映射 `windshop_user`用户域关联表6.5 优惠券表 `windshop_coupon`6.6 店铺管理域——RBAC 权限模型6.7 门店域、文件域与设置域七、表关系分析7.1 核心 ER 关系图7.2 核心关联关系汇总八、索引设计策略8.1 主键策略8.2 业务索引总览8.3 金额字段为什么用 `decimal`8.4 为什么不用数据库外键九、HikariCP 连接池配置十、数据库初始化操作10.1 创建数据库10.2 导入初始化脚本10.3 验证初始化结果10.4 初始数据说明十一、常见问题解答Q1:为什么 `order_product` 要冗余存储商品名称和价格?Q2:`app_id` 字段在单商户模式下有什么作用?Q3:导入 SQL 报错 "Character set 'utf8mb4' is not supported"?Q4:`page` 表的 `page_data` 字段为什么是 JSON?Q5:导入后表数据为空怎么办?十二、实践练习练习1:数据库初始化验证练习2:设计一张新表练习3:编写关联查询练习4:SQL 查询练习十三、总结一、概述数据库设计是任何业务系统最底层的基础设施,电商系统尤甚——商品、订单、用户、营销、物流等业务域高度耦合,一个表结构设计不当就可能引发连锁问题。本文以开源电商项目wind Shop为蓝本,从零拆解一套生产级电商数据库的设计思路、表结构细节、索引策略以及初始化流程,帮助读者掌握企业级数据建模方法论。二、学习目标与前置知识完成本文学习后,你将能够:理解 wind Shop 数据库的整体架构与表命名规范掌握商品、订单、用户、店铺等核心业务域的表结构与字段含义理解表之间的关联关系以及多租户隔离机制掌握 MyBatis-Plus 全局配置(逻辑删除、表前缀、自动填充)独立完成数据库初始化与验证,理解索引设计策略前置知识要求:了解关系型数据库基本概念(表、主键、外键、索引)、SQL 基本语法(CREATE TABLE、SELECT、JOIN),并已完成 MySQL 环境安装。三、数据库选型与字符集配置3.1 选型配置总览配置项值说明

相关新闻

为什么选择sonar-gitlab-plugin?10个理由让你的代码质量检测效率提升300%

为什么选择sonar-gitlab-plugin?10个理由让你的代码质量检测效率提升300%

为什么选择sonar-gitlab-plugin?10个理由让你的代码质量检测效率提升300% 【免费下载链接】sonar-gitlab-plugin Add to each commit GitLab in a global commentary on the new anomalies added by this commit and add comment lines of modified files 项目地址…

2026/7/18 10:02:02阅读更多 →
kvcached性能优化:7个技巧降低LLM服务延迟99%

kvcached性能优化:7个技巧降低LLM服务延迟99%

kvcached性能优化:7个技巧降低LLM服务延迟99% 【免费下载链接】kvcached Virtualized Elastic KV Cache for Dynamic GPU Sharing and Beyond 项目地址: https://gitcode.com/gh_mirrors/kv/kvcached 在大型语言模型(LLM)部署中&#…

2026/7/18 10:02:02阅读更多 →
MEV-template-rs交易解码技术:深入理解Uniswap路由器调用的完整解析

MEV-template-rs交易解码技术:深入理解Uniswap路由器调用的完整解析

MEV-template-rs交易解码技术:深入理解Uniswap路由器调用的完整解析 【免费下载链接】mev-template-rs Bootstrap your MEV bot strategies with a simple boilerplate to build on top of. 项目地址: https://gitcode.com/gh_mirrors/me/mev-template-rs 在…

2026/7/18 10:02:02阅读更多 →
Selectrum已被Vertico替代:为什么这款Emacs增量narrowing工具会被淘汰?

Selectrum已被Vertico替代:为什么这款Emacs增量narrowing工具会被淘汰?

Selectrum已被Vertico替代:为什么这款Emacs增量narrowing工具会被淘汰? 【免费下载链接】selectrum 🔔 Better solution for incremental narrowing in Emacs. 项目地址: https://gitcode.com/gh_mirrors/se/selectrum Selectrum曾是E…

2026/7/18 10:57:08阅读更多 →
5分钟揭秘:为什么这个在线EPUB编辑器能让你的创作效率翻倍?

5分钟揭秘:为什么这个在线EPUB编辑器能让你的创作效率翻倍?

5分钟揭秘:为什么这个在线EPUB编辑器能让你的创作效率翻倍? 【免费下载链接】EPubBuilder 一款在线的epub格式书籍编辑器 项目地址: https://gitcode.com/gh_mirrors/ep/EPubBuilder 在数字阅读时代,电子书创作不再是专业出版机构的专…

2026/7/18 10:57:08阅读更多 →
ComfyUI-Manager界面消失的终极修复指南:如何快速恢复插件管理功能

ComfyUI-Manager界面消失的终极修复指南:如何快速恢复插件管理功能

ComfyUI-Manager界面消失的终极修复指南:如何快速恢复插件管理功能 【免费下载链接】ComfyUI-Manager ComfyUI-Manager is an extension designed to enhance the usability of ComfyUI. It offers management functions to install, remove, disable, and enable v…

2026/7/18 10:57:08阅读更多 →
GTA5线上小助手:如何免费解锁洛圣都的终极游戏体验?

GTA5线上小助手:如何免费解锁洛圣都的终极游戏体验?

GTA5线上小助手:如何免费解锁洛圣都的终极游戏体验? 【免费下载链接】GTA5OnlineTools GTA5线上小助手 项目地址: https://gitcode.com/gh_mirrors/gt/GTA5OnlineTools 你是否厌倦了GTA5线上模式的重复刷钱和枯燥任务?GTA5线上小助手为…

2026/7/18 10:57:08阅读更多 →
企业级应用:Mist-CLI批量生成codesigned安装包(.pkg)教程

企业级应用:Mist-CLI批量生成codesigned安装包(.pkg)教程

企业级应用:Mist-CLI批量生成codesigned安装包(.pkg)教程 【免费下载链接】mist-cli A Mac command-line tool that automatically downloads macOS Firmwares / Installers. 项目地址: https://gitcode.com/gh_mirrors/mi/mist-cli Mist-CLI是一款强大的Mac…

2026/7/18 10:57:08阅读更多 →
TI 68xx/64xx芯片TPTC1读端口MPU寄存器配置详解与实战

TI 68xx/64xx芯片TPTC1读端口MPU寄存器配置详解与实战

1. 项目概述与MPU核心价值 在嵌入式系统,尤其是汽车雷达、工业自动化这类对实时性和可靠性要求极高的领域,系统崩溃往往不是由复杂的算法错误直接导致,而是一次不经意的、越界的非法内存访问。这类错误隐蔽性强,复现困难&#xff…

2026/7/18 10:52:08阅读更多 →
VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异当你在VSCode中启动一个新的TypeScript项目时,第一个技术决策往往从安装方式开始。这个看似简单的选择——全局安装还是项目本地安装——实际上会深刻影响你的开发流程、团队协作和…

2026/7/18 10:49:13阅读更多 →
智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手 【免费下载链接】zhihuishu 智慧树刷课插件,自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 智慧树刷课插件是一款专为智慧树在线教育平台设计的Chrome浏…

2026/7/18 8:49:08阅读更多 →
Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 你是否在GOG或Epic Games Store购买了心仪的游戏…

2026/7/17 13:22:23阅读更多 →
从模糊意图到可执行指令:Claude PRD中Prompt Engineering与需求颗粒度的5级映射法则

从模糊意图到可执行指令:Claude PRD中Prompt Engineering与需求颗粒度的5级映射法则

更多请点击: https://kaifayun.com 第一章:从模糊意图到可执行指令:Claude PRD中Prompt Engineering与需求颗粒度的5级映射法则 在Claude驱动的产品需求文档(PRD)生成实践中,原始业务意图往往以自然语言片…

2026/7/18 0:00:14阅读更多 →
Cursor配置生成失效?3大隐藏陷阱+4行修复代码,资深工程师连夜整理的紧急补救清单

Cursor配置生成失效?3大隐藏陷阱+4行修复代码,资深工程师连夜整理的紧急补救清单

更多请点击: https://codechina.net 第一章:Cursor配置生成失效?3大隐藏陷阱4行修复代码,资深工程师连夜整理的紧急补救清单 Cursor 配置生成突然失效,是近期高频报障场景。表面看是 cursor.config.json 未更新或 LSP…

2026/7/18 0:00:14阅读更多 →
某智驾大牛创业

某智驾大牛创业

作者:钟声编辑:Mark出品:红色星际头图:智能驾驶图片据悉,国内某头部智驾公司端到端模型技术大牛Z投身创业,并且已经拿到融资。Z不仅是该头部公司内部最年轻的对标阿里P10级别技术负责⼈,更是业内…

2026/7/18 0:00:14阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/17 22:48:46阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/17 13:22:38阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/17 17:26:50阅读更多 →