图书管理系统

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

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


一、项目简介

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

  • 普通读者界面
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 系统管理员界面
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 图书管理员界面
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

项目亮点

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

二、技术栈

后端技术

技术版本说明
Java1.8开发语言
Spring Boot2.7.8核心框架,简化配置
MyBatis-Plus3.5.1持久层框架,简化数据库操作
MySQL8.0关系型数据库
JWT (jjwt)0.9.0用户认证与授权
Redis-缓存服务
Knife4j (Swagger)-API 接口文档
Lombok-简化实体类代码
Hutool5.8.11Java 工具类库
WebSocket1.3.8实时通信(弹幕功能)

前端技术

技术版本说明
Vue.js2.6.14前端核心框架
Vue Router3.5.1路由管理
Element UI2.4.5UI 组件库
Axios1.2.1HTTP 请求库
ECharts5.4.1数据可视化图表
Less4.1.3CSS 预处理器
NProgress0.2.0页面加载进度条
html2canvas + jsPDF-PDF 导出功能
vue-json-excel0.3.0Excel 导出功能

三、系统功能模块

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. 易于扩展:模块化设计,方便二次开发

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

更多推荐