# 学生住宿管理系统 **Repository Path**: iFreesky01/sdms ## Basic Information - **Project Name**: 学生住宿管理系统 - **Description**: 使用Spring Boot 框架实现了一个学生宿舍管理系统,用到的前端技术是layui,数据库操作借助Spring Data JPA 实现,详细文档见项目中的《系统设计与实现报告书》 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-07-28 - **Last Updated**: 2021-07-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # **学生住宿管理系统** 具体功能与详细文档见《系统设计与实现报告书》,最近用queryDSL重构了一下后端代码 ### 运行项目代码的步骤: (1) 使用git命令将项目克隆到本地 ``` git clone https://gitee.com/ashinigit/sdms.git ``` (2) 修改 src/main/resources/application.yml 这个文件中的配置信息 ``` url: jdbc:mysql://localhost:3306/db_sdms?useSSL=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai username: root <--这个要改成本地MySQL中的用户名 password: 123456 <--这个要改成本地MySQL中的密码 ``` ``` picture: path: C:/Users/light/Desktop/sdms/picture-path/ <--这个要改成picture-path这个文件夹在你电脑上的绝对路径 ``` yml文件的语法 https://www.cnblogs.com/lxhaaron/p/12807473.html ``` 易错点1 path冒号空格C:/Users/ ... 冒号和C之间必须有空格 易错点2 路径必须是以盘符开头的绝对路径 路径必须要以左斜杠"/"结尾 ``` (3)在MySQL中创建一个名叫db_sdms的数据库,字符集设置utf8就行。在新建的db_sdms数据库中运行db_sdms.sql这个SQL文件,目的是将表结构和初始化数据导入到数据库中。 建议使用数据库连接工具navicat完成操作,提供一个绿色版:https://pan.baidu.com/s/1a90JhOe3J7jYiJqoia9QAg 提取码:r7yv (4)用IDEA打开项目,建议将项目的JDK版本设置为1.8 。 刷新Maven下载依赖,如果下载速度慢 参考https://blog.csdn.net/qq_40128367/article/details/86486011 配置阿里云镜像。 (5)运行 SdmsApplication.java 启动项目。在浏览器中访问 http://localhost:8080/ ``` 管理员 username=admin password=123 学生 username=01217 password=01217 注意:在数据库中密码采用了MD5加盐单向加密,盐值就是用户各自的username ``` **新增一个学生,系统会自动创建用户名和密码都是学号的账户。** ### 配置项目: (1)后端运行的端口号可在 src/main/resources/application.yml 中修改(注意空格),必须同步修改前端的文件上传接口 (2)前端的文件上传接口在 src/main/resources/static/js/upload.js 中配置,默认使用的是本地上传,见 https://gitee.com/ashinigit/file-upload (3)运行项目会自动打开浏览器访问,在 SdmsApplication.java 中配置自动访问的URL ### 用到的技术: ``` (0)Lombok 偷懒神器 (1)Spring Boot v2.3.1 (2)Spring Data JPA 的 hibernate实现 + queryDSL (3)shiro 用于授权与认证 (4)Thymeleaf 服务器端模板引擎 (5)layui 布局前端界面 (6)jQuery 简化Dom操作与Ajax请求 ``` ### 项目预览: ![登录页面](./picture-path/Login-Pic.png) ![后台管理页面](./picture-path/Admin-Pic.png) ![学生自选宿舍页面](./picture-path/Student-Pic.png) ![用户个人信息页面](./picture-path/Info-Pic.png) ![宿舍分配页面](./picture-path/Room-Pic.png) ### 项目评价: ``` 代码是在两天内赶出来的,所以注释不全,也没有文档。 权限控制这一块没做完,索性把代码都注释掉了。 为了快速实现逻辑,很多本可以进行查询优化的地方直接用的全表扫描。 代码的架构比较混乱,controller层包含了大量的业务逻辑,可拓展性比较差。 ``` 最近学习了一下queryDSL,想起了大四的时候做的这个程序,于是重构了一下后端的代码