项目编号 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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
com.bookstore
├── controller/ # 控制器层
│ ├── IndexController.java # 首页/登录/注册页面路由
│ ├── UserController.java # 用户注册、登录、信息管理
│ ├── BookController.java # 图书展示、搜索、CRUD
│ ├── OrderController.java # 订单创建、查询、状态管理
│ ├── AdminController.java # 后台页面路由
│ └── GlobalExceptionHandler.java # 全局异常处理
├── entity/ # 实体类
│ ├── User.java # 用户实体
│ ├── Book.java # 图书实体
│ └── Order.java # 订单实体
├── dao/ # 数据访问层(MyBatis Mapper接口)
│ ├── UserDao.java
│ ├── BookDao.java
│ └── OrderDao.java
├── service/ # 业务逻辑层接口
│ ├── UserService.java
│ ├── BookService.java
│ └── OrderService.java
└── service/impl/ # 业务逻辑实现
├── UserServiceImpl.java
├── BookServiceImpl.java
└── OrderServiceImpl.java

视图层(JSP):

1
2
3
4
5
6
7
8
9
10
11
12
WEB-INF/views/
├── index.jsp # 首页(图书展示、搜索、下单)
├── login.jsp # 登录页面
├── register.jsp # 注册页面
├── orderList.jsp # 用户订单列表
├── 404.jsp # 404错误页面
├── error.jsp # 通用错误页面
└── admin/
├── index.jsp # 后台管理首页
├── users.jsp # 用户管理
├── books.jsp # 图书管理
└── orders.jsp # 订单管理

六、环境配置

配置项
数据库 MySQL 8.0,数据库名 bookstore
JDBC连接 jdbc:mysql://localhost:3306/bookstore?useUnicode=true&characterEncoding=utf8
默认管理员 用户名:admin,密码:admin
默认端口 Tomcat 8080
项目路径 /bookstore

七、系统截图

首页(图书列表与搜索)

首页

用户登录

用户登录

用户注册

用户注册

图书管理(后台)

图书管理

订单管理(后台)

订单管理


八、项目特点

  1. 经典 SSM 架构:基于 Spring MVC + MyBatis 分层架构,结构清晰,适合学习和二次开发
  2. 前后端不分离:使用 JSP + Bootstrap 构建动态页面,适合传统 Web 应用场景
  3. 完整业务闭环:覆盖用户注册→图书浏览→下单购买→后台管理的完整电商流程
  4. 文件上传支持:支持图书图片上传与管理
  5. 角色权限控制:区分普通用户和管理员角色,后台操作需权限校验
  6. 分页查询:图书列表和订单列表均支持分页展示
  7. 全局异常处理:统一异常拦截与错误页面跳转

联系方式

联系人二维码
联系备注:项目编号 BS-001

咨询时请备注项目编号,方便快速定位对应系统。