基于SpringBoot+MyBatis Plus搭建校园综合服务平台
一、项目背景与需求
每到毕业季,大量教材、生活用品闲置;日常校园内也存在物品交易、跑腿代办等需求,线下交易信息分散、缺乏统一线上渠道。为此我开发了一套轻量级校园综合服务平台,主打校园二手交易,同时预留校园跑腿扩展模块,基于 SpringBoot 快速开发,采用 HTML+jQuery 简易前端,适合 Java 初学者练手、课程设计使用。
项目定位轻量化,不引入复杂 Vue、Redis 等中间件,仅使用 Maven、MySQL、MyBatis Plus 核心技术,四层分层架构清晰,CRUD、分页、条件查询、跨域、会话登录等基础功能完整,完整覆盖校园电商基础业务流程。全文附带完整 pom 依赖、配置文件、实体、Controller、数据库表结构,可直接本地运行。
二、整体技术栈
|
层级 |
技术 |
版本 |
作用 |
|
后端框架 |
Spring Boot |
2.7.18 |
快速搭建 Web 服务,内置 Tomcat |
|
持久层 |
MyBatis Plus |
[3.5.3.1](3.5.3.1) |
简化 CRUD,自带分页、条件构造器 |
|
数据库 |
MySQL |
8.0.33 |
存储用户、商品、订单数据 |
|
JSON 解析 |
FastJSON |
1.2.83 |
接口数据序列化 |
|
前端 |
HTML5 + jQuery |
- |
页面渲染、AJAX 接口请求 |
|
构建工具 |
Maven |
3.6.3 |
依赖管理、项目打包 |
|
运行环境 |
JDK 1.8 |
- |
Java 运行环境 |
三、系统四层架构设计
项目采用标准MVC 分层架构,自上而下分为四层,职责清晰、解耦易维护:
-
前端展示层:HTML 静态页面,通过 jQuery 发起 AJAX 请求调用后端接口,首页、二手商品、跑腿页面分离,统一 API 交互;
-
控制器层 Controller:接收前端 HTTP 请求,参数接收、简单参数校验,调用 Service 处理业务,统一返回 Result 封装结果;
-
业务层 Service:处理核心业务逻辑,登录校验、注册查重、商品上下架、分页查询等;
-
持久层 Mapper:继承 MyBatis Plus BaseMapper,自动拥有增删改查能力,无需手写基础 SQL。
数据库设计三张核心业务表:用户表yonghu、商品表shangpin、订单表dingdan,采用下划线命名,MyBatis Plus 自动开启驼峰转换,减少映射配置。每张表设置自增主键,建立业务索引提升查询速度,存储创建、更新时间用于数据追溯。
四、核心功能模块详解
1. 用户模块(登录 / 注册 / 个人信息 / 分页管理)
用户分为学生角色,注册时自动默认学生身份、账号唯一校验,重复账号直接返回注册失败。登录成功后将用户信息存入 HttpSession,未登录访问个人接口统一返回 401 未授权提示。后端封装统一返回工具类Result,区分成功、失败、未登录三种状态,所有接口标准化返回格式,前端统一处理响应。
关键业务逻辑:注册时自动填充创建、更新时间;登录通过账号密码精准匹配数据库;管理员分页查询全部用户,支持分页参数默认值兜底,避免前端不传参报错。
2. 二手商品模块(发布 / 分页筛选 / 上下架)
平台核心模块,支持学生发布闲置商品,填写标题、价格、分类、图片等信息。商品列表接口支持多条件筛选:按商品分类、关键词模糊搜索,仅展示状态为 1 的上架商品,按创建时间倒序排列。 下架功能通过修改商品 status 字段实现逻辑删除,不物理删除数据,保留历史交易记录。前端通过 AJAX 异步加载商品列表,页面实时渲染商品卡片,首页统计商品总数展示。
3. 订单模块(订单生成、状态管理)
用户购买商品自动生成唯一订单号,存储商品标题、图片、交易金额、收货地址、联系电话,记录订单状态(待支付 / 已完成),支持后台统一管理订单数据,完整闭环二手交易流程。
4. 公共基础配置
-
跨域配置 CorsFilter:全局放行所有请求源、请求头、请求方法,支持 Cookie 会话传递,解决前后端本地联调跨域报错;
-
MyBatis Plus 配置:开启下划线自动转驼峰,控制台打印完整 SQL 语句,方便开发调试;
-
文件上传配置:限制单文件最大 50MB,适配商品图片上传需求;
-
启动类注解:
@MapperScan统一扫描 Mapper 包,无需每个 Mapper 添加注解。
五、关键代码实现亮点
-
统一返回封装 Result 全局接口统一返回体,内置静态方法快速生成成功、失败、未登录响应,前端无需重复处理状态码,降低前后端对接成本。
-
MyBatis Plus 简化开发 所有 Mapper 继承 BaseMapper,单表 CRUD 零 SQL;使用 QueryWrapper 实现多条件动态拼接,分页
IPage开箱即用,省去分页 SQL 编写。 -
Session 简易登录鉴权 轻量方案,无需 JWT、Redis,适合课程设计;访问个人信息、发布商品等接口先校验 Session 用户,未登录直接拦截。
-
全局跨域过滤器 独立配置类统一处理跨域,适配本地前端页面 AJAX 请求,无需每个 Controller 添加跨域注解。
-
数据库逻辑删除设计 商品上下架采用 status 字段逻辑控制,保留全部数据,便于后期统计、订单溯源。
六、项目运行步骤
-
环境准备:JDK1.8、MySQL8.0、Maven3.6+;
-
执行文档内三张数据表 SQL,创建数据库
campus_service_platform; -
IDEA 导入 Maven 项目,修改
application.yml数据库账号密码; -
启动 App.java 主类,端口 6789;
-
打开 index.html 前端页面,即可访问平台全部功能。
七、项目拓展与优化方向
当前项目为基础版本,可基于现有架构持续迭代:
-
安全优化:密码 MD5 加密存储,替换 Session 为 JWT 无状态登录;
-
功能拓展:完善校园跑腿模块、商品收藏、评论、购物车;
-
前端升级:替换 jQuery 为 Vue,实现前后端完全分离;
-
性能优化:引入 Redis 缓存首页商品、用户信息;
-
权限升级:增加管理员角色,实现用户、商品、订单后台审核管理。
八、总结
本校园综合服务平台是一套典型的 SpringBoot 入门实战项目,代码量适中、架构规范,完整覆盖 Java Web 开发核心知识点:Maven 依赖管理、YML 配置、MyBatis Plus 数据操作、会话登录、跨域处理、RESTful 接口设计、AJAX 前后端交互、MySQL 表设计。适合在校学生完成课程设计、毕业设计,也适合零基础开发者巩固 SSM/SpringBoot 基础。整套源码分层清晰,注释规范,无冗余复杂逻辑,可直接部署运行,同时预留充足扩展空间,方便二次开发迭代。
更多推荐
所有评论(0)