一、引言
本系统旨在实现图书馆借阅流程线上化,涵盖查书、借书、续借、预约全流程,并通过到期提醒避免超期。针对传统借阅流程繁琐的问题,设计了一款轻量化在线图书借阅平台,既能实现全流程线上化,又能通过到期提醒避免超期。
二、环境准备
1. 下载并安装 IntelliJ IDEA
选择 IDEA 社区版(免费且功能满足需求)。在 JetBrains 官网下载 Windows 安装包。 安装时注意勾选'Add launchers dir to the PATH'(添加到环境变量)及'Create Desktop Shortcut'(创建桌面快捷方式)。
三、模块设计与编码
1. 基础模块设计
系统包含 3 类核心实体:用户(区分学生/管理员角色)、图书、借阅记录。实现核心功能:注册/登录、图书查询、借阅/续借/归还、超期提醒、管理员管理。技术栈:Spring Boot 3.x + MyBatis-Plus + MySQL 8.0,前端用 Thymeleaf+Bootstrap。
项目结构清晰,核心包与类已完整创建:
com.student.library
├─ entity // 实体类(映射数据库表)
│ ├─ User.java // 用户实体(学生/管理员)
│ ├─ Book.java // 图书实体
│ ├─ BorrowRecord.java // 借阅记录实体
│ └─ Category.java // 图书分类实体
├─ dto // 数据传输对象(接收前端请求参数)
│ ├─ UserRegisterDTO.java // 注册请求 DTO
│ ├─ BookAddDTO.java // 图书添加 DTO
│ ├─ BorrowBookDTO.java // 图书借阅 DTO
│ └─ BookQueryDTO.java // 图书查询 DTO
├─ vo // 视图对象(向前端返回数据)
│ ├─ BookDetailVO.java // 图书详情 VO
│ ├─ BorrowRecordVO.java // 借阅记录 VO
│ └─ UserBorrowVO.java // 学生借阅列表 VO
├─ mapper // 数据访问接口(MyBatis-Plus)
│ ├─ UserMapper.java
│ ├─ BookMapper.java
│ └─ BorrowRecordMapper.java
├─ service // 业务逻辑层
│ ├─ UserService.java
│ ├─ BookService.java
│ └─ BorrowService.java
├─ controller // 接口控制层
│ ├─ UserController.java
│ ├─ BookController.java
│ └─ BorrowController.java
└─ config // 配置类(数据库、静态资源映射)
└─ WebConfig.java
2. 核心代码展示
(1)entity 包:核心实体类
User.java(用户实体,区分学生/管理员角色)
package com.student.library.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
com.baomidou.mybatisplus.annotation.TableName;
lombok.AllArgsConstructor;
lombok.Data;
lombok.NoArgsConstructor;
java.time.LocalDateTime;
{
Long id;
String account;
String password;
String name;
Integer role;
String className;
String email;
LocalDateTime createTime;
}


