当前位置: 首页 > news >正文

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

👉文末查看项目功能视频演示+获取源码+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语句映射。

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.lryc.cn/news/471653.html

相关文章:

  • 南开大学《2023年+2022年810自动控制原理真题》 (完整版)
  • 【算法】Kruskal最小生成树算法
  • Pocket通常指的是一种特定的凹形或凹槽
  • Cesium基础-(Entity)-(Billboard)
  • 从0到1,解读安卓ASO优化!
  • go语言中流程控制语句
  • k8s 部署 emqx
  • CSS.导入方式
  • Linux之nfs服务器和dns服务器
  • 大模型系列——AlphaZero/强化学习/MCTS
  • 原生js实现拖拽上传(拖拽时高亮上传区域)
  • python道格拉斯算法的实现
  • STM32的hal库中,后缀带ex和不带的有什么区别
  • 可观测性三大支柱
  • 【银河麒麟高级服务器操作系统·实例分享】裸金属服务器开机失败分析及处理建议
  • 模型剪枝实操
  • 网安学习路线!最详细没有之一!看了这么多分享网安学习路线的一个详细的都没有!
  • Ubuntu18.04安装vscode1.94.2失败安装vscode1.84.2
  • Redis中Lua脚本的使用场景
  • 重工业数字化转型创新实践:某国家特大型钢铁企业如何快速落地基于实时数仓的数据分析平台
  • 【linux】手动启动sshd
  • 前端项目【本科期间】
  • 深度学习中的学习率调度:循环学习率、SGDR、1cycle 等方法介绍及实践策略研究
  • Python毕业设计-基于 Python flask 的前程无忧招聘可视化系统,Python大数据招聘爬虫可视化分析
  • Linux初阶——线程(Part1)
  • SpringBoot后端开发常用工具详细介绍——flyway数据库版本控制工具
  • CSS揭秘:7. 伪随机背景
  • SAP CODE DEMO:查找AL11 指定路径下文件中的内容
  • 【华为HCIP实战课程二十四】中间到中间系统协议IS-IS配置实战,网络工程师
  • 【工具】新手礼包之git相关环境包括中文的一套流程{收集和整理},gitlab的使用