图书管理系统(基于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. 易于扩展:模块化设计,方便二次开发

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

相关推荐
不吃鱼的羊6 分钟前
如何应对恐惧
java
不吃鱼的羊8 分钟前
如何建立高自尊
java·服务器·前端
Magicdata大数据9 分钟前
AI辅助教学:调用大模型从教材中生成习题,方便学员练习
java·spring boot·大模型·知识图谱·neo4j·ai辅助教学
香蕉大香蕉(06敬畏市场)15 分钟前
高频八股 · Java 并发编程(10):异步、ThreadLocal 与虚拟线程(收官)
java·开发语言·网络·jvm·python·ai·实习
想做小南娘,发现自己是女生喵18 分钟前
LAN Device Monitor 第二周学习文档
java·服务器·数据库
IT研究室26 分钟前
最新计算机毕业设计选题推荐-基于深度学习的塑料类型图像分类研究-运行部署-文档指导-深度学习-YOLO
深度学习·分类·课程设计
Wang's Blog29 分钟前
Java 项目实战: 交友项目 - 查询推荐动态
java·开发语言·交友
不识君30 分钟前
esl-client 2.0.0 发布:Java 项目接入 FreeSWITCH,从引入到使用
spring boot·后端·开源
jaysee-sjc35 分钟前
【苍穹外卖】Day10:定时任务与 WebSocket 实时提醒实战
java·开发语言·javascript·数据库·vue.js·websocket·网络协议
独隅39 分钟前
Claude 高效应用实战指南
android·java·开发语言·claude·claude code