# 智慧图书管理系统Web版本 **Repository Path**: Yu_dean/ZhiHui-Library-Management-System-Web-Version ## Basic Information - **Project Name**: 智慧图书管理系统Web版本 - **Description**: 这里是西工大软件学院4名本科生的软件工程实验大作业,项目名称为智慧图书管理系统的网页版本,由胡鑫宇、张杨涵宇、赵舸呈、余燚共同开发 - **Primary Language**: Unknown - **License**: AGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-19 - **Last Updated**: 2025-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 智慧图书管理系统(Web版本) 一个基于 Spring Boot + MyBatis + MySQL 的现代化图书馆管理系统,提供完整的图书借阅、用户管理、库存管理等功能。 ## 📚 项目简介 智慧图书管理系统是一个功能完善的B/S架构图书馆管理平台,支持多角色用户(超级管理员、管理员、读者),提供图书管理、借阅还书、用户管理、库存管理等核心功能。 ## ✨ 功能特性 ### 用户角色 - **超级管理员 (superadmin)**: 拥有所有权限,可管理其他管理员 - **管理员 (admin)**: 管理图书、用户、借阅记录、库存等 - **读者 (reader)**: 浏览图书、借阅还书、查看借阅历史 ### 核心功能 #### 📖 图书管理 - 图书信息增删改查 - 图书分类管理 - 图书状态管理(可借阅、下架、预约中) - ISBN自动生成 - 图书搜索(按书名、作者、ISBN等) #### 📋 借阅管理 - 图书借阅/归还 - 续借功能 - 借阅历史记录 - 超期自动计算 - 罚款管理(0.5元/天) - 借阅记录CSV导出 #### 👥 用户管理 - 用户注册/登录 - 用户信息编辑 - 用户冻结/解冻 - 最大借阅数量设置 - 密码修改 #### 📦 库存管理 - 图书入库/出库 - 库存调整(增加/减少/设置) - 库存记录追踪 - 低库存预警 #### 📊 数据统计 - 借阅量统计 - 预约量统计 - 图表可视化 ## 🛠️ 技术栈 ### 后端 | 技术 | 版本 | 说明 | |------|------|------| | Java | 8+ | 编程语言 | | Spring Boot | 2.7.0 | 应用框架 | | MyBatis | 2.2.2 | ORM框架 | | MySQL | 8.0+ | 数据库 | | HikariCP | - | 数据库连接池 | | Maven | - | 项目构建工具 | ### 前端 | 技术 | 版本 | 说明 | |------|------|------| | HTML5/CSS3/JavaScript | - | 基础技术 | | Bootstrap | 5.3.0 | UI框架 | | Font Awesome | 6.0 | 图标库 | | Chart.js | - | 图表库 | ## 📁 项目结构 ``` ZhiHuiLibrary/ ├── src/ │ └── main/ │ ├── java/com/library/ │ │ ├── LibraryApplication.java # 应用入口 │ │ ├── controller/ # 控制器层 │ │ │ ├── BookController.java # 图书管理API │ │ │ ├── BorrowReturnController.java # 借还管理API │ │ │ ├── UserController.java # 用户管理API │ │ │ └── SystemParamController.java # 系统参数API │ │ ├── service/ # 业务逻辑层 │ │ │ ├── BookService.java │ │ │ ├── BorrowReturnService.java │ │ │ └── SystemParamService.java │ │ ├── dao/ # 数据访问层 │ │ │ ├── BookDao.java │ │ │ ├── BorrowRecordDao.java │ │ │ ├── UserDao.java │ │ │ └── ... │ │ └── model/ # 实体类 │ │ ├── Book.java │ │ ├── User.java │ │ ├── BorrowRecord.java │ │ └── ... │ └── resources/ │ ├── static/ # 静态资源 │ │ ├── index.html # 管理员后台 │ │ ├── reader.html # 读者页面 │ │ ├── login.html # 登录页面 │ │ └── register.html # 注册页面 │ ├── application.properties # 配置文件 │ ├── schema.sql # 数据库表结构 │ └── data.sql # 初始化数据 ├── pom.xml # Maven配置 └── README.md # 项目文档 ``` ## 🚀 快速开始 ### 环境要求 - JDK 8 或更高版本 - MySQL 8.0+ - Maven 3.6+ ### 1. 克隆项目 ```bash git clone https://gitee.com/Yu_dean/ZhiHui-Library-Management-System-Web-Version cd ZhiHui-Library-Management-System-Web-Version ``` ### 2. 配置数据库 创建数据库: ```sql CREATE DATABASE library_db DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ``` 修改 `src/main/resources/application.properties` 中的数据库配置: ```properties spring.datasource.url=jdbc:mysql://localhost:3306/library_db?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC spring.datasource.username=root spring.datasource.password=你的密码 ``` ### 3. 启动项目 ```bash mvn spring-boot:run ``` 或者在IDE中运行 `LibraryApplication.java` ### 4. 访问系统 | 页面 | 地址 | |------|------| | 登录页面 | http://localhost:6370/login.html | | 管理员后台 | http://localhost:6370/index.html | | 读者页面 | http://localhost:6370/reader.html | | 注册页面 | http://localhost:6370/register.html | ### 5. 默认账户 | 角色 | 用户名 | 密码 | |------|--------|------| | 管理员 | admin | admin123 | | 读者 | reader1 | 123456 | 更多账户可以查看`手动执行-插入测试用户.sql` ## 📡 API 接口 ### 用户相关 | 方法 | 路径 | 说明 | |------|------|------| | POST | /api/users/login | 用户登录 | | POST | /api/users/register | 用户注册 | | GET | /api/users | 获取用户列表 | | POST | /api/users | 添加用户 | | PUT | /api/users/{id} | 更新用户 | | PUT | /api/users/{id}/freeze | 冻结用户 | | PUT | /api/users/{id}/unfreeze | 解冻用户 | ### 图书相关 | 方法 | 路径 | 说明 | |------|------|------| | GET | /api/books | 获取图书列表 | | GET | /api/books/{id} | 获取图书详情 | | POST | /api/books | 添加图书 | | PUT | /api/books/{id} | 更新图书 | | DELETE | /api/books/{id} | 删除图书 | | GET | /api/books/search | 搜索图书 | ### 借阅相关 | 方法 | 路径 | 说明 | |------|------|------| | POST | /api/borrow/borrow | 借阅图书 | | POST | /api/borrow/return/{recordId} | 归还图书 | | POST | /api/borrow/renew/{recordId} | 续借图书 | | GET | /api/borrow/records/all | 获取所有借阅记录 | | GET | /api/borrow/user/{userId} | 获取用户借阅记录 | ## 📊 数据库设计 ### 主要数据表 | 表名 | 说明 | |------|------| | users | 用户表 | | books | 图书表 | | borrow_records | 借阅记录表 | | reserve_records | 预约记录表 | | stock_records | 库存变动记录表 | | system_params | 系统参数表 | ### ER关系图 ``` users (1) ----< (N) borrow_records (N) >---- (1) books users (1) ----< (N) reserve_records (N) >---- (1) books books (1) ----< (N) stock_records ``` ## ⚙️ 系统配置 ### 借阅规则 - 默认借阅天数:30天 - 最大续借次数:2次 - 每次续借天数:15天 - 超期罚款:0.5元/天 ### 用户限制 - 默认最大借阅数量:5本 - 可由管理员调整 ## 🔧 开发说明 ### 代码规范 - 使用驼峰命名法 - Controller层处理HTTP请求 - Service层处理业务逻辑 - DAO层处理数据访问 - Model层定义实体类 ### 新增功能步骤 1. 在 `model/` 创建实体类 2. 在 `dao/` 创建数据访问接口 3. 在 `service/` 创建业务逻辑类 4. 在 `controller/` 创建API接口 5. 更新前端页面 ## 📝 更新日志 ### v1.0.0 - 初始版本发布 - 完成图书管理功能 - 完成用户管理功能 - 完成借阅还书功能 - 完成库存管理功能 - 完成数据导出功能 ## 🤝 贡献 欢迎提交 Issue 和 Pull Request! ## 📄 许可证 MIT License --- **智慧图书管理系统** - 让图书管理更智能、更高效!