SpringBoot3+Vue3+MySQL图书借还管理系统源码 前后端分离实战
一、项目简介
共享书角图书借还管理系统是一套基于 Spring Boot 3 + Vue 3 前后端分离架构的图书借阅管理平台。系统面向三类角色:普通用户、管理员,其中普通用户可在线浏览图书、借阅与归还,管理员则负责图书、分类、借阅记录、用户信息及系统配置的全面管理。后端提供 RESTful API 接口,前端通过 Vue Router 管理页面路由,Pinia 管理全局状态,整体采用 JWT 完成身份认证与权限控制,支持图书数据的 Excel 批量导入与导出,适合作为毕业设计、课程设计或中小型图书管理场景的参考实现。
二、技术栈
| 技术 | 说明 |
|---|---|
| 后端框架 | Spring Boot 3.x |
| ORM | MyBatis-Plus 3.5.x |
| 权限认证 | JWT(jjwt) |
| 密码加密 | BCrypt(Spring Security Crypto) |
| 前端框架 | Vue 3(Composition API + script setup) |
| 状态管理 | Pinia |
| 路由 | Vue Router 4(History 模式) |
| UI 组件库 | Element Plus |
| 构建工具 | Vite |
| 数据库 | MySQL(InnoDB) |
| Excel 处理 | EasyExcel |
| 文件上传 | Spring MultipartFile + 本地存储 |
三、功能模块
管理员端
- 仪表盘总览:展示总图书数、总用户数、借阅中数量、逾期数量、分类统计、借阅趋势、热门图书排行等核心指标,便于管理员快速掌握系统运行状态。
- 图书管理:支持按关键词、分类、状态筛选图书列表,分页展示封面、编号、书名、作者、分类、库存、状态等字段。
- 添加/编辑图书:填写编号、书名、作者、出版社、分类、封面上传、库存数量、状态、简介、备注等信息,完成图书的新增与更新。
- 删除图书:弹出确认框后执行逻辑删除,避免误操作导致数据永久丢失。
- 图书分类管理:查看分类列表(含 ID、名称、排序值),支持添加、编辑、删除分类,并设置排序顺序。
- 借阅记录管理:查看所有借阅记录,展示图书名称、编号、借阅人、手机号、借出时间、应还时间、归还时间、状态等字段,支持分页浏览。
- 管理员手动归还图书:对借阅中或逾期状态的记录执行归还操作,系统自动计算逾期天数并更新信用分。
- 用户管理:查看用户列表,支持按昵称、手机号搜索,分页展示用户信息。
- 修改用户状态:启用或冻结账号,冻结后用户无法登录或借阅。
- 修改用户信用分:范围 0-100,信用分影响用户借阅资格。
- 修改用户借阅上限:设置单个用户可同时借阅的最大图书数量。
- 重置用户密码:一键将用户密码重置为默认值 123456。
- 系统配置管理:查看与编辑系统参数,如最低信用分限制、借阅天数、逾期每日扣分数等。
- Excel 导入图书:上传 .xlsx 文件批量新增图书,自动校验图书编号与必填字段,避免重复导入。
- Excel 导出图书:将当前全部图书列表导出为 .xlsx 文件,便于离线备份或数据迁移。
普通用户端
- 手机号/密码登录与注册:支持表单校验,注册后通过 JWT 完成身份认证,登录状态持久化。
- 浏览图书列表:支持按关键词搜索、按分类筛选,分页展示图书封面、书名、作者、库存等信息。
- 查看图书详情:展示封面、作者、出版社、分类、库存、简介等完整信息,帮助用户判断是否借阅。
- 借阅图书:点击“借阅”按钮,系统校验信用分、当前借阅数量是否超过上限、库存是否充足,通过后生成借阅记录。
- 查看我的借阅记录:分页展示当前用户的历史借阅与当前借阅,含图书名称、编号、借出时间、应还时间、归还时间、状态等字段。
- 在线归还图书:在借阅记录中点击“归还”按钮,系统自动计算逾期天数并扣除相应信用分。
- 个人资料编辑:修改昵称、头像等个人信息,资料更新后前端同步刷新。
- 修改密码:输入原密码与新密码完成密码更新,原密码校验通过后方可修改。
- 查看首页统计:展示总图书数、总用户数、当前借阅数等概览数据,帮助用户了解平台规模。
- 查看图书分类列表:用于前端筛选与导航,提升图书浏览效率。
四、项目总结
本项目技术选型主流,前后端完全分离,代码结构清晰,接口设计规范。后端基于 Spring Boot 3 + MyBatis-Plus,配合 JWT 与 BCrypt 保障接口安全;前端使用 Vue 3 + Element Plus + Pinia,组件化开发便于维护与扩展。项目覆盖了图书借还系统的核心业务闭环,包含完整的权限控制、借阅流程、逾期扣分机制以及 Excel 导入导出能力,适合作为 Java 全栈学习的实战项目,也可快速改造成其他图书或资源管理场景。
界面展示
交付内容
本项目为完整交付,包含:
- 完整后端源码
- 完整前端源码
- 数据库初始化脚本(SQL)
- 万字项目文档(设计文档 / 论文,可作课程设计、毕业设计参考)
获取完整源码
完整前后端源码 + 数据库脚本 + 万字项目文档见 Gitee 仓库:https://gitee.com/kangxihuang/src-K286