SweetHouse 甜蜜蛋糕屋 / 蛋糕商城项目
基于 SSM (Spring + SpringMVC + MyBatis) + JSP + MySQL 的综合示例项目。
有需项目源码私信博主--不是开源免费
项目截图








一、技术栈
| 层次 | 技术 |
|---|---|
| 项目管理 | Maven |
| Web 框架 | SpringMVC |
| 业务层 | Spring |
| 持久层 | MyBatis |
| 数据库 | MySQL 8.0 |
| 连接池 | C3P0 |
| 前端 | JSP + JSTL + CSS |
| 日志 | Log4j |
二、项目结构
bash
sweethouse/
├── src/main/java/com/codeonce/
│ ├── controller/ # 控制器(Book、Cake、Cart、Order、Admin 等)
│ ├── service/ # Service 接口与实现类
│ ├── mapper/ # MyBatis Mapper 接口及 XML
│ └── pojo/ # 实体类(Books、Cake、Order、OrderItem、User 等)
├── src/main/resources/ # 配置文件
│ ├── applicationContext.xml
│ ├── spring-dao.xml
│ ├── spring-service.xml
│ ├── spring-mvc.xml
│ ├── mybatis-config.xml
│ ├── database.properties
│ └── log4j.properties
├── web/
│ ├── index.jsp # 前台首页入口(重定向到蛋糕或图书模块)
│ ├── static/
│ │ ├── css/sweet.css # 甜品风格样式
│ │ └── img/*.png # 蛋糕图片资源
│ └── WEB-INF/
│ ├── jsp/ # 所有 JSP 视图(后缀 .html,由 JspServlet 解析)
│ │ ├── index.html # 甜蜜蛋糕屋首页
│ │ ├── allBook.html # 图书列表
│ │ ├── addBook.html # 新增图书
│ │ ├── updateBook.html # 修改图书
│ │ ├── cakeDetail.html # 蛋糕详情
│ │ ├── cart.html # 购物车
│ │ ├── orderConfirm.html # 订单确认
│ │ ├── orderSuccess.html # 下单成功
│ │ ├── myOrders.html # 我的订单
│ │ ├── orderDetail.html # 订单详情
│ │ ├── location.html # 店铺位置
│ │ ├── login.html # 登录
│ │ ├── register.html # 注册
│ │ ├── adminIndex.html # 后台仪表盘
│ │ ├── adminGoods.html # 后台蛋糕商品管理
│ │ ├── adminOrders.html # 后台订单管理
│ │ └── adminUsers.html # 后台用户管理
│ └── web.xml # Web 部署描述
├── ssmbuild_DB.sql # 项目数据库脚本(包含 books/cake/orders 等表)
├── pom.xml # Maven 配置
└── @项目规范/项目规范.md # 项目代码规范说明
三、数据库设计概览
具体建表语句见
ssmbuild_DB.sql,这里只列出核心业务表。
books:图书信息(原有模块)cake:蛋糕商品表cake_name蛋糕名称category分类(生日蛋糕 / 慕斯蛋糕 / 芝士蛋糕 ...)price售价stock库存tags标签(逗号分隔)cover_img封面图片路径
user:用户表(管理员 / 普通用户)orders:订单表order_item:订单明细表(关联orders与cake)
四、功能模块
1. 前台功能
- 用户认证
- 用户注册 / 登录 / 退出
- 蛋糕商城(甜蜜蛋糕屋)
- 蛋糕列表展示(首页)
- 分类筛选:生日蛋糕 / 慕斯蛋糕 / 芝士蛋糕 / 水果蛋糕等
- 关键词搜索:
/cake/queryByName - 蛋糕详情页:显示图片、价格、标签等
- 购物车与下单
- 加入购物车 / 修改数量 / 删除
- 订单确认:填写收货人、电话、地址、备注
- 创建订单:生成订单号、写入订单与订单明细
- 下单成功页面提示
- 我的订单
- 订单列表:查看历史订单
- 订单详情:查看每笔订单的商品明细
- 图书模块(保留原始示例)
- 图书增删改查:
allBook.html / addBook.html / updateBook.html
- 图书增删改查:
2. 后台管理功能
- 仪表盘
- 统计用户数 / 商品数 / 订单数
- 蛋糕商品管理
- 列表查询(支持关键字模糊搜索)
- 新增蛋糕(表单 + 图片上传)
- 编辑蛋糕信息
- 删除 / 上下架状态切换
- 订单管理
- 查看全部订单
- 查看订单详情
- 更新订单状态(如已完成 / 已取消)
- 用户管理
- 用户列表
- 启用 / 禁用
- 删除用户
五、设计风格与布局
- 整体 UI 采用甜品风:暖色调、卡片式布局、圆角和柔和阴影。
- 前台首页使用大图 Banner + 卡片网格展示蛋糕商品。
- 后台页面遵循规范文档中的布局:左侧菜单 + 右侧内容区。
- 视图后缀统一为
.html,通过web.xml中的JspServlet解析 JSP/JSTL/EL。
六、快速开始
1. 环境要求
- JDK 1.8+
- MySQL 8.0+
- Maven 3.6+
- Tomcat 8.5+/9+
2. 创建数据库
在 MySQL 中执行:
sql
source ssmbuild_DB.sql;
3. 配置数据库连接
编辑 src/main/resources/database.properties:
properties
jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/ssmbuild?useSSL=true&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
jdbc.username=root
jdbc.password=你的密码
4. Maven 构建 & 部署
bash
mvn clean package
将生成的 ssmbuild.war 部署到 Tomcat,或直接在 IDE 中配置 Tomcat 使用本项目。
5. 访问地址示例
- 前台首页(蛋糕商城):
http://localhost:8080/ssmbuild/cake/index - 图书模块首页:
http://localhost:8080/ssmbuild/book/allBook - 后台管理首页:
http://localhost:8080/ssmbuild/admin/index
实际上下文路径可能根据你在 Tomcat 中配置的应用名而不同(如
sweethouse/ssmbuild),请以实际为准。
七、默认账号(示例)
具体账号以 ssmbuild_DB.sql 中插入的数据为准,可参考以下约定:
| 角色 | 用户名 | 密码 |
|---|---|---|
| 管理员 | admin | 123456 |
| 普通用户 | user1 | 123456 |
八、开发规范说明
本项目的代码结构、命名规则、URL 设计、视图命名等,均遵循 @项目规范/项目规范.md 中的约定,包括但不限于:
- 分层结构:Controller → Service → Mapper → DB
- 实体类使用 Lombok(
@Data @AllArgsConstructor @NoArgsConstructor) - 所有 JSP 统一放在
WEB-INF/jsp,后缀.html - 后台接口统一做 Session 登录校验
开发/二次改造时,建议先通读 项目规范.md,再在此基础上扩展新的业务模块。