springboot基于java的大学生心理测评与分析系统(源码+文档+调试+讲解)

收藏关注不迷路!!

🌟文末获取源码+数据库🌟

感兴趣的可以先收藏起来,还有大家在毕设选题(免费咨询指导选题),项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人


前言

随着现代教育对心理健康重视程度的提升,大学生心理测评与分析系统应运而生,旨在为大学生提供全面的心理评估服务,并辅助心理师进行有效的数据分析和个性化干预。该系统采用java语言,MySQL数据库,以B/S结构进行开发设计,保证了系统的扩展性和维护性。整个系统分为管理员端、心理师端以及前台学生端三个主要部分,以满足不同用户的需求。管理员端具备全面的管理功能,包括学生信息、心理师信息、课程与活动类型、预约信息及时段、社交论坛及系统整体设置等。心理师端则专注于心理课程的教授与管理、预约处理、活动组织和个人资料维护。前台用户端面向广大学生,提供便捷的访问入口,包括心理课程选修、活动参与、心理测评接入和个人中心信息的自我管理。系统的亮点在于其心理测评模块,通过科学设计的题目和算法,能够有效评估学生的心理状况,并提供相应的分析报告,助力心理师对学生进行个性化的心理辅导。此外,系统还设有社交论坛,鼓励学生之间的互助与交流,构建积极的心理健康文化氛围。总体而言,大学生心理测评与分析系统是一个综合性平台,它不仅提高了心理测评的效率和精准度,也加强了心理教育的互动性和普及性,是高校心理健康工作的重要辅助工具。

详细视频演示

文章底部名片,联系我看更详细的演示视频

一、项目介绍

开发语言:Java
框架:springboot
JDK版本:JDK1.8
服务器:tomcat7
数据库:mysql
数据库工具:Navicat11
开发软件:eclipse/myeclipse/idea
Maven包:Maven

————————————————

二、功能介绍

大学生心理测评与分析系统分管理员、心理师和学生三大部分。系统按照用户的实际需求开发而来,贴近生活。从管理员出拿到分配好的账号密码可以进入系统,使用相关的系统应用。管理员总体负责整体系统的运行维护,统筹协调。整体功能展示如图4-1所示。
在这里插入图片描述

图4-1 系统整体功能图

三、核心代码

部分代码:


package com.example.controller;

import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.SecureUtil;
import com.example.common.Result;
import com.example.common.ResultCode;
import com.example.entity.Caiwu;
import com.example.exception.CustomException;
import com.example.service.CaiwuService;
import com.example.utils.MapWrapperUtils;
import com.example.utils.jwt.JwtUtil;
import com.example.vo.CaiwuVo;
import org.springframework.beans.BeanUtils;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@RestController
@RequestMapping(value = "/caiwu")
public class CaiwuController {

    @Resource
    private CaiwuService caiwuService;

    @PostMapping
    public Result<Caiwu> add(@RequestBody CaiwuVo caiwu) {
        caiwuService.add(caiwu);
           return Result.success(caiwu);
    }
	
	

    @PostMapping("/deleteList")
    public Result<Caiwu> deleteList(@RequestBody CaiwuVo caiwu) {
        caiwuService.deleteList(caiwu.getList());
        return Result.success();
    }

    @DeleteMapping("/{id}")
    public Result delete(@PathVariable Long id) {
        caiwuService.delete(id);
        return Result.success();
    }

    @PutMapping
    public Result update(@RequestBody CaiwuVo caiwu) {
        caiwuService.update(caiwu);
        return Result.success();
    }

    @GetMapping("/{id}")
    public Result<Caiwu> detail(@PathVariable Integer id) {
        Caiwu caiwu = caiwuService.findById(id);
        return Result.success(caiwu);
    }

    @GetMapping
    public Result<List<Caiwu>> all() {
        return Result.success(caiwuService.list());
    }

    @PostMapping("/page")
    public Result<CaiwuVo> page(@RequestBody CaiwuVo caiwuVo) {
        return Result.success(caiwuService.findPage(caiwuVo));
    }
	    @PostMapping("/login")
    public Result login(@RequestBody Caiwu caiwu, HttpServletRequest request) {
        if (StrUtil.isBlank(caiwu.getZhanghao()) || StrUtil.isBlank(caiwu.getMima())) {
            throw new CustomException(ResultCode.PARAM_LOST_ERROR);
        }
        Caiwu login = caiwuService.login(caiwu);
//        if(!login.getStatus()){
//            return Result.error("1001","状态限制,无法登录系统");
//        }
        if(login != null) {
            HashMap hashMap = new HashMap();
            hashMap.put("user", login);
            Map<String, Object> map = MapWrapperUtils.builder(MapWrapperUtils.KEY_USER_ID,caiwu.getId());
            String token = JwtUtil.creatToken(map);
            hashMap.put("token", token);
            return Result.success(hashMap);
        }else {
            return Result.error();
        }
    }
    @PutMapping("/updatePassword")
    public Result updatePassword(@RequestBody Caiwu info, HttpServletRequest request) {
        Caiwu caiwu = caiwuService.findById(info.getId());
        String oldPassword = SecureUtil.md5(info.getMima());
        if (!oldPassword.equals(caiwu.getMima())) {
            return Result.error(ResultCode.PARAM_PASSWORD_ERROR.code, ResultCode.PARAM_PASSWORD_ERROR.msg);
        }
        info.setMima(SecureUtil.md5(info.getNewPassword()));
        Caiwu caiwu1 = new Caiwu();
        BeanUtils.copyProperties(info, caiwu1);
        caiwuService.update(caiwu1);
        return Result.success();
    }
}

数据库参考


--
-- Current Database: `springbootw3d93143`
--

/*!40000 DROP DATABASE IF EXISTS `springbootw3d93143`*/;

CREATE DATABASE /*!32312 IF NOT EXISTS*/ `springbootw3d93143` /*!40100 DEFAULT CHARACTER SET utf8mb4 */;

USE `springbootw3d93143`;

--
-- Table structure for table `baominghuodong`
--

DROP TABLE IF EXISTS `baominghuodong`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `baominghuodong` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `huodongbiaoti` varchar(200) DEFAULT NULL COMMENT '活动标题',
  `tupian` longtext COMMENT '图片',
  `huodongleixing` varchar(200) DEFAULT NULL COMMENT '活动类型',
  `huodongshijian` date DEFAULT NULL COMMENT '活动时间',
  `huodongdizhi` varchar(200) DEFAULT NULL COMMENT '活动地址',
  `baomingshijian` date DEFAULT NULL COMMENT '报名时间',
  `zhanghao` varchar(200) DEFAULT NULL COMMENT '账号',
  `xueshengxingming` varchar(200) DEFAULT NULL COMMENT '学生姓名',
  `xingming` varchar(200) DEFAULT NULL COMMENT '发布人',
  `crossuserid` bigint(20) DEFAULT NULL COMMENT '跨表用户id',
  `crossrefid` bigint(20) DEFAULT NULL COMMENT '跨表主键id',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=99 DEFAULT CHARSET=utf8 COMMENT='报名活动';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `baominghuodong`
--

LOCK TABLES `baominghuodong` WRITE;
/*!40000 ALTER TABLE `baominghuodong` DISABLE KEYS */;
INSERT INTO `baominghuodong` VALUES (91,'2024-05-10 12:39:05','交友活动','upload/baominghuodong_tupian1.jpg,upload/baominghuodong_tupian2.jpg,upload/baominghuodong_tupian3.jpg','活动类型1','2024-05-10','活动地址1','2024-05-10','账号1','学生姓名1','发布人1',1,1),(92,'2024-05-10 12:39:05','交友活动','upload/baominghuodong_tupian2.jpg,upload/baominghuodong_tupian3.jpg,upload/baominghuodong_tupian4.jpg','活动类型2','2024-05-10','活动地址2','2024-05-10','账号2','学生姓名2','发布人2',2,2),(93,'2024-05-10 12:39:05','交友活动','upload/baominghuodong_tupian3.jpg,upload/baominghuodong_tupian4.jpg,upload/baominghuodong_tupian5.jpg','活动类型3','2024-05-10','活动地址3','2024-05-10','账号3','学生姓名3','发布人3',3,3),(94,'2024-05-10 12:39:05','交友活动','upload/baominghuodong_tupian4.jpg,upload/baominghuodong_tupian5.jpg,upload/baominghuodong_tupian6.jpg','活动类型4','2024-05-10','活动地址4','2024-05-10','账号4','学生姓名4','发布人4',4,4),(95,'2024-05-10 12:39:05','交友活动','upload/baominghuodong_tupian5.jpg,upload/baominghuodong_tupian6.jpg,upload/baominghuodong_tupian7.jpg','活动类型5','2024-05-10','活动地址5','2024-05-10','账号5','学生姓名5','发布人5',5,5),(96,'2024-05-10 12:39:05','交友活动','upload/baominghuodong_tupian6.jpg,upload/baominghuodong_tupian7.jpg,upload/baominghuodong_tupian8.jpg','活动类型6','2024-05-10','活动地址6','2024-05-10','账号6','学生姓名6','发布人6',6,6),(97,'2024-05-10 12:39:05','交友活动','upload/baominghuodong_tupian7.jpg,upload/baominghuodong_tupian8.jpg,upload/baominghuodong_tupian9.jpg','活动类型7','2024-05-10','活动地址7','2024-05-10','账号7','学生姓名7','发布人7',7,7),(98,'2024-05-10 12:39:05','交友活动','upload/baominghuodong_tupian8.jpg,upload/baominghuodong_tupian9.jpg,upload/baominghuodong_tupian10.jpg','活动类型8','2024-05-10','活动地址8','2024-05-10','账号8','学生姓名8','发布人8',8,8);
/*!40000 ALTER TABLE `baominghuodong` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `chatmessage`
--

DROP TABLE IF EXISTS `chatmessage`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `chatmessage` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `uid` bigint(20) NOT NULL COMMENT '用户ID',
  `fid` bigint(20) NOT NULL COMMENT '好友用户ID',
  `content` varchar(200) DEFAULT NULL COMMENT '内容',
  `format` int(11) DEFAULT NULL COMMENT '格式(1:文字,2:图片)',
  `isread` int(11) DEFAULT '0' COMMENT '消息已读(0:未读,1:已读)',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='消息表';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `chatmessage`
--

LOCK TABLES `chatmessage` WRITE;
/*!40000 ALTER TABLE `chatmessage` DISABLE KEYS */;
/*!40000 ALTER TABLE `chatmessage` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `config`
--

DROP TABLE IF EXISTS `config`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `config` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `name` varchar(100) NOT NULL COMMENT '配置参数名称',
  `value` varchar(100) DEFAULT NULL COMMENT '配置参数值',
  `url` varchar(500) DEFAULT NULL COMMENT 'url',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='配置文件';
/*!40101 SET character_set_client = @saved_cs_client */;


四、效果图

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

五、文章目录

目 录

1 前 言 5
1.1 研究背景与意义 5
1.2 国内外研究现状 5
1.3 研究内容 6
2 关键技术介绍 7
2.1 Java语言简介 7
2.2 Spring Boot框架介绍 7
2.3 VUE.JS框架 7
2.4 Eclipse开发环境 7
2.5 MYSQL数据库 8
2.6 B/S架构 8
3 系统分析 9
3.1需求分析 9
3.2 系统可行性分析 9
3.2.1技术可行性 9
3.2.2经济可行性 9
3.2.3操作性可行性 10
3.3系统功能用例分析 10
3.4系统流程分析 11
4 系统的设计 13
4.1系统总功能模块设计 13
4.2系统数据库设计 13
4.2.1 E-R模型结构设计 13
4.2.2数据表设计 14
5系统实现 25
5.1系统功能实现 25
5.1.1前台首页实现 25
5.1.2个人中心页面实现 28
5.2后台功能实现 28
5.2.1管理员功能实现 29
5.2.2心理师功能实现 32
6系统测试 35
6.1测试概述 35
6.2软件测试原则 35
6.3测试用例 35
总结与展望 37
致谢 38
参考文献 39

六 、源码获取

下方名片联系我即可!!


大家点赞、收藏、关注、评论啦 、查看👇🏻获取联系方式👇🏻

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

毕业程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值