基于 Spring + MyBatis +JSP 的图书商城管理系统
项目编号
BS-001
基于 Spring + MyBatis 的图书商城管理系统
一、项目概述
本项目是一个面向图书销售场景的图书商城管理系统,采用 Spring MVC + MyBatis + JSP 经典架构。系统提供用户注册登录、图书浏览搜索、在线下单购买以及后台管理等核心功能,实现了一套完整的图书在线销售流程。
二、功能模块
2.1 用户端
| 功能 | 说明 |
|---|---|
| 用户注册 | 新用户在线注册账号,支持用户名唯一性检查 |
| 用户登录 | 已注册用户登录系统,支持角色识别(普通用户/管理员) |
| 图书浏览 | 图书列表展示,支持分页查看 |
| 图书搜索 | 按书名关键词模糊搜索图书 |
| 图书详情 | 查看图书详细信息(书名、作者、价格、库存、描述) |
| 在线下单 | 选择图书后一键下单购买 |
| 订单管理 | 查看个人订单列表及订单详情 |
2.2 后台管理端
| 功能 | 说明 |
|---|---|
| 管理员登录 | 管理员身份认证与权限校验 |
| 用户管理 | 查看所有注册用户、删除用户 |
| 图书管理 | 添加图书(含图片上传)、编辑图书、删除图书 |
| 订单管理 | 查看所有订单、更新订单状态(待付款→已付款→已发货→已完成) |
三、技术栈
| 层级 | 技术选型 |
|---|---|
| 前端 | JSP、Bootstrap 4、jQuery、HTML/CSS/JavaScript |
| 后端 | Spring 5.3.20(Spring MVC + Spring JDBC)、MyBatis 3.5.9 |
| 数据库 | MySQL 8.0 |
| 项目管理 | Maven(war 打包) |
| 运行环境 | JDK 8、Tomcat、MySQL |
四、数据表设计
系统包含 3 张核心数据表:
| 数据表 | 说明 |
|---|---|
user |
用户表(用户名、密码、邮箱、手机号、地址、角色) |
book |
图书表(书名、作者、价格、库存、描述、图片、分类) |
order |
订单表(用户ID、图书ID、数量、总价、状态、下单时间) |
数据表关系
user表与order表:一对多(一个用户可以有多个订单)book表与order表:一对多(一本图书可以出现在多个订单中)- 订单状态枚举:0-待付款、1-已付款、2-已发货、3-已完成
五、项目结构
1 | com.bookstore |
视图层(JSP):
1 | WEB-INF/views/ |
六、环境配置
| 配置项 | 值 |
|---|---|
| 数据库 | MySQL 8.0,数据库名 bookstore |
| JDBC连接 | jdbc:mysql://localhost:3306/bookstore?useUnicode=true&characterEncoding=utf8 |
| 默认管理员 | 用户名:admin,密码:admin |
| 默认端口 | Tomcat 8080 |
| 项目路径 | /bookstore |
七、系统截图
首页(图书列表与搜索)

用户登录

用户注册

图书管理(后台)

订单管理(后台)

八、项目特点
- 经典 SSM 架构:基于 Spring MVC + MyBatis 分层架构,结构清晰,适合学习和二次开发
- 前后端不分离:使用 JSP + Bootstrap 构建动态页面,适合传统 Web 应用场景
- 完整业务闭环:覆盖用户注册→图书浏览→下单购买→后台管理的完整电商流程
- 文件上传支持:支持图书图片上传与管理
- 角色权限控制:区分普通用户和管理员角色,后台操作需权限校验
- 分页查询:图书列表和订单列表均支持分页展示
- 全局异常处理:统一异常拦截与错误页面跳转
联系方式
联系备注:项目编号 BS-001
咨询时请备注项目编号,方便快速定位对应系统。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 一只智狸の小窝!

