# SQL_iot4 **Repository Path**: walib/sql_iot4 ## Basic Information - **Project Name**: SQL_iot4 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-25 - **Last Updated**: 2026-03-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README /* * 期末作业 */ # SQL-IoT4 项目说明文档 ## 1. 项目概述 SQL-IoT4 是一个基于 Spring Boot 的 Web 应用系统,主要用于管理和展示各类数据信息,包括学生信息、成果信息、评估信息、合作单位信息、知识库信息和材料信息等。系统采用前后端分离的架构设计,提供了完整的增删改查功能,方便用户进行数据管理和操作。 ## 2. 技术栈 ### 2.1 后端技术 - **框架**: Spring Boot 2.6.13 - **持久层**: MyBatis 2.2.2 - **数据库**: MySQL 5.1.49 - **开发语言**: Java 8 - **构建工具**: Maven 3.8.1 - **代码生成**: Lombok 1.18.30 ### 2.2 前端技术 - **HTML5**: 页面结构设计 - **CSS3**: 样式美化 - **JavaScript**: 交互逻辑实现,处理DOM操作和AJAX请求 ## 3. 项目结构 ### 3.1 后端目录结构 ![image-20251228170553395](image/image-20251228170553395.png) ``` src/main/java/com/bsuc/sqliot4/ ├── controller/ # 控制器层,处理 HTTP 请求 │ ├── achievement/ # 成果管理控制器 │ ├── assess/ # 评估管理控制器 │ ├── cooperationUnit/ # 合作单位管理控制器 │ ├── knowledge/ # 知识库管理控制器 │ ├── material/ # 材料管理控制器 │ └── user/ # 用户管理控制器(学生) ├── dao/ # 数据访问层,定义数据库操作接口 │ ├── achievement/ # 成果管理 Mapper │ ├── assess/ # 评估管理 Mapper │ ├── cooperationUnit/ # 合作单位管理 Mapper │ ├── knowledge/ # 知识库管理 Mapper │ ├── material/ # 材料管理 Mapper │ └── user/ # 用户管理 Mapper ├── pojo/ # 实体类,对应数据库表结构 │ ├── achievement/ # 成果实体 │ ├── assess/ # 评估实体 │ ├── cooperationUnit/ # 合作单位实体 │ ├── knowledge/ # 知识库实体 │ ├── material/ # 材料实体 │ └── user/ # 用户实体(学生) ├── service/ # 业务逻辑层 │ ├── achievement/ # 成果管理服务接口 │ ├── assess/ # 评估管理服务接口 │ ├── cooperationUnit/ # 合作单位管理服务接口 │ ├── knowledge/ # 知识库管理服务接口 │ ├── material/ # 材料管理服务接口 │ ├── user/ # 用户管理服务接口 │ └── Impl/ # 服务接口实现类 └── SqlIot4Application.java # 项目入口类 ``` ### 3.2 前端目录结构 ![image-20251228170644804](image/image-20251228170644804.png) ``` src/main/resources/static/ ├── css/ # 样式文件 │ └── common.css # 公共样式 ├── index/ # 页面文件 │ ├── student.html # 1学生管理页面 │ ├── achievements.html # 4成果管理页面 │ ├── assessment.html # 6评估管理页面 │ ├── knowledge.html # 2知识库管理页面 │ ├── material.html # 5材料管理页面 | ├── cooperationUint.html #7合作单位管理 │ └── ... # 其他功能页面 ├── js/ # JavaScript 文件 │ ├── common.js # 公共 JS 函数 │ └── ... # 其他功能 JS 文件 └── index.html # 系统首页 ``` ## 4. 核心功能模块 ### 4.1 学生管理模块 - **功能描述**: 用于管理学生的基本信息,包括学生ID、姓名、用户名、学号、专业、联系方式、邮箱、入学年份、教师ID和状态等。 - **主要功能**: - 学生信息的查询、新增、修改和删除 - 支持按条件搜索学生 - 支持分页显示学生列表 ### 4.2 成果管理模块 - **功能描述**: 用于管理各类成果信息。 - **主要功能**: - 成果信息的查询、新增、修改和删除 - 支持按条件搜索成果 - 支持分页显示成果列表 ### 4.3 评估管理模块 - **功能描述**: 用于管理评估相关信息。 - **主要功能**: - 评估信息的查询、新增、修改和删除 - 支持按条件搜索评估 - 支持分页显示评估列表 ### 4.4 合作单位管理模块 - **功能描述**: 用于管理合作单位信息,包括合作项目、行业分类等。 - **主要功能**: - 合作单位信息的查询、新增、修改和删除 - 支持按条件搜索合作单位 - 支持分页显示合作单位列表 ### 4.5 知识库管理模块 - **功能描述**: 用于管理知识库信息,包括课程等。 - **主要功能**: - 知识库信息的查询、新增、修改和删除 - 支持按条件搜索知识库 - 支持分页显示知识库列表 ### 4.6 材料管理模块 - **功能描述**: 用于管理各类材料信息。 - **主要功能**: - 材料信息的查询、新增、修改和删除 - 支持按条件搜索材料 - 支持分页显示材料列表 ## 5. 数据库设计 ### 数据库结构 ![image-20251228170433211](image/image-20251228170433211.png) ### 5.1 学生表 (student) | 字段名 | 数据类型 | 描述 | |-------|---------|------| | student_id | INT | 学生ID,主键 | | user_name | VARCHAR | 登录用户名 | | password | VARCHAR | 登录密码 | | real_name | VARCHAR | 真实姓名 | | student_no | VARCHAR | 学号(唯一) | | major | VARCHAR | 所属专业 | | contact | VARCHAR | 联系方式 | | email | VARCHAR | 邮箱 | | enrollment_grade | VARCHAR | 入学年级 | | teacher_id | VARCHAR | 指导老师ID | | status | VARCHAR | 状态:1-申请中,2-在职,3-历史 | ### 5.2 其他表 系统还包含成果表、评估表、合作单位表、知识库表、材料表等,具体结构可根据对应实体类查看。 ## 6. 系统配置 ### 6.1 数据库配置 ```yaml spring: datasource: username: root password: 123456 url: jdbc:mysql://127.0.0.1:3306/iot4?useUnicode=true&characterEncoding=utf-8&useSSL=false&lower_case_table_names=1 driver-class-name: com.mysql.jdbc.Driver ``` ### 6.2 MyBatis 配置 ```yaml mybatis: configuration: map-underscore-to-camel-case: true # 开启下划线转驼峰 ``` ### 6.3 服务器配置 ```yaml server: port: 8080 ``` ## 7. 快速开始 ### 7.1 环境要求 - JDK 1.8 及以上 - Maven 3.8.1 及以上 - MySQL 5.7 及以上 ### 7.2 部署步骤 1. **创建数据库**: 在 MySQL 中创建名为 `iot4` 的数据库 2. **修改配置**: 根据实际情况修改 `application.yml` 中的数据库连接信息 3. **构建项目**: 执行 `mvn clean package` 命令构建项目 4. **运行项目**: 执行 `java -jar target/sql-iot4-0.0.1-SNAPSHOT.jar` 命令启动项目 5. **访问系统**: 在浏览器中访问 `http://localhost:8080` ### 7.3 开发环境运行 1. **导入项目**: 将项目导入到 IDE(如 IntelliJ IDEA) 2. **配置数据库**: 修改 `application.yml` 中的数据库连接信息 3. **运行项目**: 直接运行 `SqlIot4Application` 类的 `main` 方法 4. **访问系统**: 在浏览器中访问 `http://localhost:8080` ## 8. API 接口说明 ### 8.1 学生管理接口 - **查询所有学生**: GET/POST `/students/all` - **根据ID查询学生**: GET/POST `/students/{id}` - **新增学生**: GET/POST `/students/add` - **修改学生**: GET/POST `/students/update` - **删除学生**: GET/POST `/students/delete`(通过请求体传递studentId) ### 8.2 其他模块接口 其他模块的接口路径均采用复数形式,默认支持GET和POST请求,具体可参考对应控制器类的实现。 ## 9. 前端页面说明 ### 9.1 页面布局 所有功能页面采用统一的布局风格,包括: - 主内容区域 ### 9.2 页面功能 每个功能页面包含: - 数据列表展示(表格形式) - 搜索和筛选功能 - 新增、修改、删除操作按钮 - 分页功能(如果数据量较大) ## 10. 团队分工 本项目采用MVC架构,每一层分为6个模块,由6个成员分别负责: | 成员 | 负责模块 | 具体内容 | |-----|----------|----------| | 陆艳阳 | 任务一:用户管理 | 学生信息管理功能的开发和维护 | | 刘钰婷 | 任务二:知识管理 | 知识库相关功能的开发和维护 | | 黄雲川 | 任务四:成果管理 | 成果信息管理功能的开发和维护 | | 黄瑞峰 | 任务五:耗材管理 | 材料信息管理功能的开发和维护 | | 赖彦求 | 任务六:考核管理 | 评估相关功能的开发和维护 | | 黄云波 | 任务七:合作单位管理 | 合作单位、合作项目等功能的开发和维护 | ## 11. 版本控制 本项目使用Git进行版本控制,代码托管在Gitee平台上。 ### 11.1 版本控制规范 - 采用分支开发模式,主分支为`main` - 每个成员负责的模块可以创建独立的开发分支 - 功能开发完成后,合并到`main`分支 - 定期进行代码评审和合并 ### 11.2 Gitee仓库地址 项目代码托管在Gitee平台,具体地址请联系项目负责人获取。 url: https://gitee.com/walib/sql_iot4 ## 12. 开发规范 ### 12.1 后端开发规范 - 采用分层架构设计,严格遵循 Controller-Service-Dao 分层 - 实体类使用 Lombok 简化开发 - Mapper 接口使用 MyBatis 注解 - 服务接口和实现类分离 - 控制器方法遵循 RESTful 设计风格 ### 12.2 前端开发规范 - 使用语义化 HTML 标签 - CSS 样式统一管理,减少冗余代码 - JavaScript 代码模块化,分离业务逻辑 - 页面交互友好,提供必要的提示信息 ## 13. 常见问题及解决方案 ### 13.1 数据库连接失败 **问题描述**: 启动项目时提示数据库连接失败 **解决方案**: 1. 检查 MySQL 服务是否正常运行 2. 检查 `application.yml` 中的数据库连接信息是否正确 3. 检查数据库用户名和密码是否正确 4. 检查数据库是否存在 ### 13.2 项目构建失败 **问题描述**: 执行 `mvn clean package` 命令时构建失败 **解决方案**: 1. 检查 Maven 配置是否正确 2. 检查 JDK 版本是否符合要求 3. 检查项目依赖是否完整 4. 查看构建日志,定位具体错误信息 ### 13.3 页面访问404 **问题描述**: 浏览器访问页面时提示404错误 **解决方案**: 1. 检查项目是否正常启动 2. 检查访问路径是否正确 3. 检查静态资源文件是否存在 **项目说明文档** - 生成时间:2025-12-28