# cloudlibrary2 **Repository Path**: dshabao/cloudlibrary2 ## Basic Information - **Project Name**: cloudlibrary2 - **Description**: springboot后端单体--图书馆 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-09 - **Last Updated**: 2025-10-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # CloudLibrary 云图书馆系统 ## 项目介绍 CloudLibrary是一个基于Spring Boot的图书馆管理系统,提供图书管理、借阅记录、评论互动等功能,采用分层架构设计,支持高效的图书资源管理与用户交互。 ## 功能模块 1. **图书管理**:图书信息的增删改查,包括图书名称、分类、ISBN、出版社等信息管理 2. **借阅记录**:跟踪图书借阅、归还记录,限制借阅次数,统计借阅频率 3. **评论系统**:支持用户对图书等内容进行评论、回复及点赞功能 4. **系统公告**:发布和管理图书馆相关公告 5. **文件上传**:基于MinIO的文件存储功能,支持图书封面等文件上传 ## 技术栈 - **后端框架**:Spring Boot - **ORM框架**:MyBatis Plus - **数据库**:MySQL - **文件存储**:MinIO - **WebSocket**:用于实时通知 - **工具类**:Hutool、Lombok - **API文档**:(可扩展集成Swagger) ## 快速开始 ### 环境要求 - JDK 1.8+ - MySQL 8.0+ - Maven 3.6+ - MinIO(可选,用于文件存储) ### 配置步骤 1. 克隆项目到本地 ```bash git clone <项目仓库地址> cd cloudlibrary ``` 2. 修改数据库配置(`application.yml`) ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/cloudlibrary username: root password: your_password ``` 3. 配置MinIO(`application.yml`) ```yaml minio: endpoint: http://localhost:9000 accessKey: your_access_key secretKey: your_secret_key ``` 4. 编译并启动项目 ```bash mvn clean package java -jar target/cloudlibrary-0.0.1-SNAPSHOT.jar ``` 5. 访问系统 - 应用地址:http://localhost:8080 - WebSocket端点:ws://localhost:8080/ws ## 目录结构 ``` cloudlibrary/ ├── src/main/java/com/dousb/cloudlibrary/ │ ├── controller/ # 控制器层 │ ├── service/ # 服务层 │ │ └── impl/ # 服务实现 │ ├── mapper/ # 数据访问层 │ ├── model/ # 数据模型 │ │ ├── entity/ # 数据库实体 │ │ ├── vo/ # 视图对象 │ │ └── dto/ # 数据传输对象 │ ├── config/ # 配置类 │ ├── constant/ # 常量定义 │ ├── utils/ # 工具类 │ ├── generate/ # 代码生成器 │ └── MainApplication.java # 启动类 └── src/main/resources/ ├── templates/ # Freemarker模板 └── application.yml # 应用配置 ``` ## 核心功能示例 ### 1. 图书借阅 ```java // 借阅记录添加示例(RecordController) @PostMapping("/add") @Transactional(rollbackFor = Exception.class) public BaseResponse addRecord(@RequestBody RecordAddRequest recordAddRequest, HttpServletRequest request) { // 校验参数 // 检查借阅限制 // 保存借阅记录 // 更新图书借阅次数 } ``` ### 2. 评论功能 ```java // 评论点赞示例(CommentController) @PostMapping("/like/count") public BaseResponse getLikeCount(@RequestBody LikeCountRequest likeCountRequest, HttpServletRequest request) { // 校验评论ID // 递增点赞数 // 返回更新后的点赞数 } ``` ### 3. 文件上传 ```java // 文件上传示例(FileController) @PostMapping("/upload") public BaseResponse uploadFile(@RequestParam MultipartFile multipartFile) { // 调用MinIO工具类上传文件 // 返回文件信息 } ``` ## 贡献者 - 豆沙包 ## 备注 - 项目采用分层架构设计,遵循RESTful API规范 - 集成MyBatis Plus分页插件,支持数据分页查询 - 使用@TableLogic注解实现逻辑删除功能 - 通过WebSocket支持实时消息通知 - 代码生成器可快速扩展新业务模块