图书管理系统(基于springboot+vue前后端分离的项目)计算机毕业设计java

图书管理系统

哔站系统演示视频:https://www.bilibili.com/video/BV1dtVn6DEGg/?spm_id_from=333.1387.homepage.video_card.click&vd_source=1cc74f9f7d21efd4b52085adfbba22f7

基于 Spring Boot + Vue 的前后端分离图书管理系统,适合计算机相关专业毕业设计使用


一、项目简介

本项目是一个功能完整的图书管理系统 ,采用前后端分离架构开发。系统包含三种角色:普通读者图书管理员系统管理员,覆盖了图书借阅管理的完整业务流程。

  • 普通读者界面

  • 系统管理员界面

  • 图书管理员界面

项目亮点

  • 前后端分离架构,代码结构清晰
  • 三种角色权限管理,功能划分明确
  • 包含借阅到期提醒功能(定时任务 + 手动触发)
  • 支持数据可视化图表展示
  • 支持 PDF/Excel 报表导出
  • 完整的 CRUD 操作和分页查询

二、技术栈

后端技术

技术 版本 说明
Java 1.8 开发语言
Spring Boot 2.7.8 核心框架,简化配置
MyBatis-Plus 3.5.1 持久层框架,简化数据库操作
MySQL 8.0 关系型数据库
JWT (jjwt) 0.9.0 用户认证与授权
Redis - 缓存服务
Knife4j (Swagger) - API 接口文档
Lombok - 简化实体类代码
Hutool 5.8.11 Java 工具类库
WebSocket 1.3.8 实时通信(弹幕功能)

前端技术

技术 版本 说明
Vue.js 2.6.14 前端核心框架
Vue Router 3.5.1 路由管理
Element UI 2.4.5 UI 组件库
Axios 1.2.1 HTTP 请求库
ECharts 5.4.1 数据可视化图表
Less 4.1.3 CSS 预处理器
NProgress 0.2.0 页面加载进度条
html2canvas + jsPDF - PDF 导出功能
vue-json-excel 0.3.0 Excel 导出功能

三、系统功能模块

3.1 普通读者端

功能 说明
用户登录 JWT 认证登录
首页 轮播图展示、系统概览
图书查询 分页查询、模糊搜索
读者规则 查看借阅规则
查看公告 浏览系统公告
借阅信息 查看个人借阅记录
违章信息 查看违章记录
读者留言 弹幕式留言互动
借阅提醒 查看到期提醒消息

3.2 图书管理员端

功能 说明
管理员登录 独立登录入口
借阅图书 办理图书借阅
归还图书 办理图书归还
借书报表 借阅记录查询、导出
还书报表 还书记录查询、导出
发布公告 发布系统公告
手动提醒 批量/单条发送到期提醒

3.3 系统管理员端

功能 说明
管理员登录 独立登录入口
图书管理 图书增删改查
用户管理 读者信息管理
图书分类 分类管理
借阅规则 规则设置
数据统计 图表可视化分析

四、核心功能详解

4.1 借阅到期提醒功能

这是本系统的特色功能,包含三种触发方式:

(1)定时自动提醒
  • 每天凌晨 2 点自动执行
  • 扫描 3 天内到期的借阅记录
  • 扫描已逾期的借阅记录
  • 自动为用户生成提醒消息
  • 避免重复生成提醒
(2)批量手动提醒
  • 图书管理员在"还书报表"页面点击"手动提醒"按钮
  • 一次性为所有即将到期和已逾期的记录生成提醒
  • 适合管理员主动触发,无需等待定时任务
(3)单条手动提醒
  • 在还书报表列表中,每条记录都有"手动提醒"按钮
  • 针对某一条具体的借阅记录发送提醒
  • 灵活精准,避免不必要的提醒
提醒查看
  • 用户登录后在"借阅提醒"菜单查看
  • 区分"即将到期"和"已逾期"两种状态
  • 支持标记已读
  • 显示未读提醒数量

4.2 数据可视化

  • 使用 ECharts 实现图表展示
  • 支持折线图、饼图等多种图表类型
  • 直观展示借阅数据统计

4.3 报表导出

  • 支持 PDF 格式导出(基于 html2canvas + jsPDF)
  • 支持 Excel 格式导出(基于 vue-json-excel)
  • 支持全屏模式查看

4.4 弹幕留言功能

  • 基于 WebSocket 实现实时通信
  • 读者可以发送弹幕留言
  • 其他用户可以实时看到留言

五、项目结构

复制代码
book-manage-system/
├── book-manage-system_backend/          # 后端项目
│   ├── src/main/java/com/book/backend/
│   │   ├── controller/                  # 控制器层
│   │   │   ├── admin/                   # 系统管理员接口
│   │   │   ├── bookadmin/               # 图书管理员接口
│   │   │   └── user/                    # 读者接口
│   │   ├── service/                     # 业务逻辑层
│   │   │   └── impl/                    # 服务实现类
│   │   ├── mapper/                      # 数据访问层
│   │   ├── pojo/                        # 实体类
│   │   │   └── dto/                     # 数据传输对象
│   │   ├── job/cycle/                   # 定时任务
│   │   ├── common/                      # 公共类(统一返回、分页等)
│   │   ├── config/                      # 配置类
│   │   ├── interceptor/                 # 拦截器
│   │   └── utils/                       # 工具类
│   ├── src/main/resources/
│   │   ├── mapper/                      # MyBatis XML 映射文件
│   │   └── application.yml              # 配置文件
│   └── sql/                             # 数据库脚本
│
└── book-manage-system_vue/              # 前端项目
    ── src/
        ├── components/                  # 组件目录
        │   ├── Admin/                   # 系统管理员页面
        │   ├── BookManage/              # 图书管理员页面
        │   ├── User/                    # 读者页面
        │   ├── Home/                    # 首页布局
        │   ├── Chart/                   # 图表组件
        │   └── Utils/                   # 工具组件
        ├── router/                      # 路由配置
        ├── plugins/                     # 插件配置
        └── assets/                      # 静态资源

六、数据库设计

主要数据表

表名 说明 主要字段
t_users 读者信息表 用户ID、借阅证号、姓名、用户名、密码、状态
t_book_admins 图书管理员表 管理员ID、用户名、密码、姓名、状态
t_admins 系统管理员表 管理员ID、用户名、密码、姓名
t_books 图书信息表 图书ID、书名、作者、出版社、ISBN、分类、库存
t_books_borrow 借阅记录表 借阅ID、借阅证号、图书编号、借阅日期、截止日期、归还日期
t_violation 违章记录表 违章ID、借阅证号、图书编号、违章信息、处理人
t_notice 公告表 公告ID、标题、内容、发布时间
t_book_rule 借阅规则表 规则ID、规则内容
t_book_type 图书分类表 分类ID、分类名称
t_comment 留言表 留言ID、内容、用户ID、时间
t_reminder 提醒表 提醒ID、借阅证号、图书编号、截止日期、提醒内容、已读状态

七 、项目特色总结

  1. 架构清晰:标准的前后端分离架构,三层架构(Controller-Service-Mapper)
  2. 功能完整:覆盖图书管理的完整业务流程
  3. 技术主流:使用 Spring Boot + Vue 主流技术栈
  4. 代码规范:统一的返回格式、分页处理、异常处理
  5. 特色功能:借阅到期提醒、AI 智能推荐、弹幕留言
  6. 文档齐全:Swagger 接口文档、SQL 脚本完整
  7. 易于扩展:模块化设计,方便二次开发

提示:本项目仅供学习参考,用于毕业设计请根据个人需求进行修改和完善。

相关推荐
卷毛的技术笔记2 小时前
告别硬编码!Spring AI Alibaba 实现 AI Agent 智能工具调用(Tool Calling)
java·人工智能·后端·python·spring·ai编程
编程大师哥2 小时前
匿名函数 lambda + 高阶函数
java·python·算法
_codemonster2 小时前
30分钟快速搭建 Spring Cloud Alibaba 微服务实战(一)
微服务·架构·毕业设计·课程设计
東雪木2 小时前
多线程与并发编程 专属复习笔记
java·开发语言·笔记·java面试
adrninistrat0r2 小时前
Java调用链MCP分析工具
java·python·ai编程
噜噜噜阿鲁~3 小时前
python学习笔记 | 11.3、面向对象高级编程-多重继承
java·开发语言
qq_2518364573 小时前
SpringBoot+Vue 共享电池柜管理系统 完整实现 前后端分离项目实战 完整代码
vue.js·spring boot·后端
春生野草3 小时前
反射、Tomcat执行
java·开发语言
_日拱一卒4 小时前
LeetCode:207课程表
java·数据结构·算法·leetcode·职场和发展