基于SSM的心理咨询管理管理系统(含源码+sql+视频导入教程+文档+PPT)

ops/2024/10/30 4:50:09/

sql_1">👉文末查看项目功能视频演示+获取源码+sql脚本+视频导入教程视频

1 、功能描述

  基于SSM的心理咨询管理管理系统拥有三个角色:学生用户、咨询师、管理员

管理员:学生管理、咨询师管理、文档信息管理、预约信息管理、测试题目管理、测试信息管理、测试结果管理、留言板管理、轮播图管理等

学生用户:收藏、预约、答题、留言、登录、注册等

咨询师:登录注册、发布试题、填写测试结果等

1.1 背景描述

  基于SSM(Spring、SpringMVC、MyBatis)的心理咨询管理系统是为心理咨询机构或个人心理咨询师设计开发的一套信息管理系统。该系统整合了预约管理、咨询记录、客户信息管理、统计分析等功能模块,旨在提升心理咨询服务的效率和质量。预约管理模块可帮助咨询师安排咨询时间、管理预约情况;咨询记录模块记录每次咨询的内容和进展,便于跟踪客户情况;客户信息管理模块包括客户基本信息、历史记录等,有助于建立客户档案和个性化服务;统计分析模块则提供数据分析和报表功能,帮助咨询机构了解业务情况和趋势。通过该系统,心理咨询机构能够更好地管理咨询服务流程、提升服务质量,为客户提供更专业、个性化的心理咨询服务。

2、项目技术

后端框架:SSM(Spring、SpringMVC、Mybatis)

前端技术:Bootstrap、html、css、JavaScript、JQuery、VUE

2.1 SSM

  SSM(Spring+SpringMVC+MyBatis)是目前比较主流的Java EE企业级框架,适用于搭建各种大型的企业级应用系统。其中,Spring就像是整个项目中的粘合剂,负责装配bean并管理其生命周期,实现控制反转(IoC)的功能。SpringMVC负责拦截用户请求,通过DispatcherServlet将请求匹配到相应的Controller并执行。而MyBatis则是对JDBC的封装,让数据库底层操作变得透明,通过配置文件关联到各实体类的Mapper文件,实现了SQL语句映射。

sql_24">2.2 mysql

  MySQL是一款Relational Database Management System,直译过来的意思就是关系型数据库管理系统,MySQL有着它独特的特点,这些特点使他成为目前最流行的RDBMS之一,MySQL想比与其他数据库如ORACLE、DB2等,它属于一款体积小、速度快的数据库,重点是它符合本次毕业设计的真实租赁环境,拥有成本低,开发源码这些特点,这也是选择它的主要原因。

3、开发环境

  • JAVA版本:JDK1.8
  • IDE类型:IDEA、Eclipse都可运行
  • tomcat版本:Tomcat 7-10版本均可
  • 数据库类型:MySql(5.5-5.7、8.x版本都可)
  • maven版本:无限制
  • 硬件环境:Windows 或者 Mac OS

4、功能截图+视频演示+文档目录

4.1 登录

登录2

4.2 学生用户模块

用户-前端页面

4.3 咨询师模块

咨询师-前端功能

咨询师-后端功能列表

4.4 管理员模块

管理员-学生管理

管理员-咨询师管理

管理员-文章信息管理

管理员-预约信息管理

管理员-测试题目管理

管理员-测试信息管理

管理员-测试结果管理

管理员-留言板管理

管理员-轮播图管理

4.5 文档目录

文档目录

5 、核心代码实现

5.1 配置代码


spring:datasource:username: rootpassword: rootdriver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://127.0.0.1:3306/chuangmeng?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true&allowPublicKeyRetrieval=trueservlet:multipart:max-file-size: 50MBmax-request-size: 50MB
server:port: 521
redis:open: false
shiro:redis: false
logging:level:com:mh: debug
mybatis-plus:type-aliases-package: com.mh.*.entitymapper-locations: classpath*:/mapper/*/*.xml

5.2 其它核心代码


package com.controller;import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.Map;import javax.servlet.http.HttpServletRequest;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;import com.annotation.IgnoreAuth;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.entity.TokenEntity;
import com.entity.UserEntity;
import com.service.TokenService;
import com.service.UserService;
import com.utils.CommonUtil;
import com.utils.MPUtil;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.ValidatorUtils;/*** 登录相关*/
@RequestMapping("users")
@RestController
public class UserController{@Autowiredprivate UserService userService;@Autowiredprivate TokenService tokenService;/*** 登录*/@IgnoreAuth@PostMapping(value = "/login")public R login(String username, String password, String captcha, HttpServletRequest request) {UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));if(user==null || !user.getPassword().equals(password)) {return R.error("账号或密码不正确");}String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());return R.ok().put("token", token);}/*** 注册*/@IgnoreAuth@PostMapping(value = "/register")public R register(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {return R.error("用户已存在");}userService.insert(user);return R.ok();}/*** 退出*/@GetMapping(value = "logout")public R logout(HttpServletRequest request) {request.getSession().invalidate();return R.ok("退出成功");}/*** 密码重置*/@IgnoreAuth@RequestMapping(value = "/resetPass")public R resetPass(String username, HttpServletRequest request){UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));if(user==null) {return R.error("账号不存在");}user.setPassword("123456");userService.update(user,null);return R.ok("密码已重置为:123456");}/*** 列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,UserEntity user){EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/list")public R list( UserEntity user){EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();ew.allEq(MPUtil.allEQMapPre( user, "user")); return R.ok().put("data", userService.selectListView(ew));}/*** 信息*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") String id){UserEntity user = userService.selectById(id);return R.ok().put("data", user);}/*** 获取用户的session用户信息*/@RequestMapping("/session")public R getCurrUser(HttpServletRequest request){Long id = (Long)request.getSession().getAttribute("userId");UserEntity user = userService.selectById(id);return R.ok().put("data", user);}/*** 保存*/@PostMapping("/save")public R save(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {return R.error("用户已存在");}userService.insert(user);return R.ok();}/*** 修改*/@RequestMapping("/update")public R update(@RequestBody UserEntity user){
//        ValidatorUtils.validateEntity(user);UserEntity u = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername()));if(u!=null && u.getId()!=user.getId() && u.getUsername().equals(user.getUsername())) {return R.error("用户名已存在。");}userService.updateById(user);//全部更新return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){userService.deleteBatchIds(Arrays.asList(ids));return R.ok();}
}

6 、获取方式

👇 大家点赞、收藏、关注、评论啦 👇🏻获取联系方式,后台回复关键词:心理👇🏻


http://www.ppmy.cn/ops/129493.html

相关文章

【工具】Charles对360浏览器抓包抓包

Charles 和 switchy sharp 配合&#xff0c;可以对 Chrome 进行抓包也可以配合对360安全浏览器抓包。 本文以Windows 电脑中的配置为例&#xff0c;介绍如何实现抓包。&#xff08;Mac中操作基本一致&#xff09; 1.安装Charles 可根据自己的电脑下载对应的版本&#xff1a;…

Linux云计算 |【第五阶段】ARCHITECTURE-DAY5

主要内容&#xff1a; 搭建Zookeeper高可用集群、搭建分布式消息队列kafka、搭建高可用hadoop集群 一、Zookeeper 介绍 Zookeeper是一个开源分布式应用程序协调服务&#xff0c;主要用于解决分布式集群中应用系统的一致性问题。它能提供类似文件系统的目录节点树方式的数据存…

(三)行为模式:11、模板模式(Template Pattern)(C++示例)

目录 1、模板模式含义 2、模板模式的UML图学习 3、模板模式的应用场景 4、模板模式的优缺点 5、C实现的实例 1、模板模式含义 模板模式&#xff08;Template Method Pattern&#xff09;是一种行为设计模式&#xff0c;它定义了一个操作中的算法骨架&#xff0c;将某些步骤…

Cesium基础-(Entity)-(Corridor 走廊)

里边包含Vue、React框架代码详细步骤、以及代码详细解释 4、Corridor 走廊 以下是 CorridorGeometry 类的属性、方法和静态方法,以表格形式展示: 属性 属性名类型默认值描述positionsArray.定义走廊中心的坐标点数组。widthnumber走廊

基于Matlab 人脸识别技术

Matlab 人脸识别技术 算法流程&#xff1a; 本系统运用PCA算法来实现人脸特征提取&#xff0c;然后通过计算欧式距离来判别待识别测试人脸&#xff0c;本个系统框架图如下&#xff1a; 图&#xff1a; 人脸识别系统框架图 整个系统的流程是这样的&#xff0c;首先通过图像采…

pandas read_html 如何才能读取多网页表格?

read_html()可免去写爬虫的烦恼&#xff0c;自动帮你抓取静态网页中的表格。 这里分为三种情况&#xff1a; 单网页多个表格&#xff0c;read_html()可以直接爬取所有表格&#xff0c;并以dataframe形式保存在列表中。多网页不同url&#xff0c;通过传入翻页参数&#xff0c;…

stm32学习3

学习目录 一.点亮LED&#xff08;寄存器&#xff09;1.使用宏定义 一.点亮LED&#xff08;寄存器&#xff09; 1.使用宏定义 在官方的文件中定义了很多的宏定义来表示stm32中每个引脚&#xff0c;这样可以简便开发&#xff1b; 改进后的代码&#xff1a; #include "st…

RabbitMQ安装部署

安装Erlang 由于RabbitMQ是用Erlang语言编写的&#xff0c;所以在安装RabbitMQ之前需要安装Erlang 安装依赖 [rootpro-ex ~]yum install make gcc gcc-c build-essential openssl openssl-devel unixODBC unixODBC-devel kernel-devel m4 ncurses-devel设置Eralng的存储库 […