摘要

随着社会经济的发展,医疗卫生事业取得了巨大进步,在心理健康教育占据越来越重要的地位,什么是心理健康:心理健康,从广义上讲,是指一种高效而满意的、持续的心理状态。从狭义上讲,心理健康是指人的基本心理活动的过程内容完整、协调一致,即认识、情感、意志、行为、人格完整和协调,能适应社会,与社会保持同步。

全国有20.23%的大学生存在不同程度的心理障碍甚至心理疾患,25%的大学生需要精神卫生服务,10%有明显的心理障碍症状,急需心理咨询与心理治疗。心理障碍已成为当今大学生身心健康的最大威胁。心理健康教育显得十分必要,

心理健康教育开发使系统能够更加方便学生捷,同时也促使心理健康教育变的更加系统化、有序化。系统界面较友好,易于操作。具体在系统设计上,采用B/S结构,java技术动态页面上进行了设计,Mysql数据库进行储存,是一个非常优秀的心理健康教育系统。

关键词:心理健康教育系统 Java Mysql SSM

主要功能截图

首页

咨询师

相关文章页

题目测试页

留言面板

后台登录页

文章信息管理页

相关代码实现

1、mybatis配置模块

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD SQL Map Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<!--
 |   plugins在配置文件中的位置必须符合要求,否则会报错,顺序如下:
 |   properties?, settings?,
 |   typeAliases?, typeHandlers?,
 |   objectFactory?,objectWrapperFactory?,
 |   plugins?,
 |   environments?, databaseIdProvider?, mappers?
 |-->
<configuration>
    <!--
     | 全局配置设置
     |
     | 可配置选项                   默认值,     描述
     |
     | aggressiveLazyLoading       true,     当设置为‘true’的时候,懒加载的对象可能被任何懒属性全部加载。否则,每个属性都按需加载。
     | multipleResultSetsEnabled   true,     允许和不允许单条语句返回多个数据集(取决于驱动需求)
     | useColumnLabel              true,     使用列标签代替列名称。不同的驱动器有不同的作法。参考一下驱动器文档,或者用这两个不同的选项进行测试一下。
     | useGeneratedKeys            false,    允许JDBC 生成主键。需要驱动器支持。如果设为了true,这个设置将强制使用被生成的主键,有一些驱动器不兼容不过仍然可以执行。
     | autoMappingBehavior         PARTIAL,  指定MyBatis 是否并且如何来自动映射数据表字段与对象的属性。PARTIAL将只自动映射简单的,没有嵌套的结果。FULL 将自动映射所有复杂的结果。
     | defaultExecutorType         SIMPLE,   配置和设定执行器,SIMPLE 执行器执行其它语句。REUSE 执行器可能重复使用prepared statements 语句,BATCH执行器可以重复执行语句和批量更新。
     | defaultStatementTimeout     null,     设置一个时限,以决定让驱动器等待数据库回应的多长时间为超时
     | -->
    <settings>
        <!-- 这个配置使全局的映射器启用或禁用缓存 -->
        <setting name="cacheEnabled" value="true"/>
        <!-- 全局启用或禁用延迟加载。当禁用时,所有关联对象都会即时加载 -->
        <setting name="lazyLoadingEnabled" value="true"/>
        <setting name="multipleResultSetsEnabled" value="true"/>
        <setting name="useColumnLabel" value="true"/>
        <setting name="defaultExecutorType" value="REUSE"/>
        <setting name="defaultStatementTimeout" value="25000"/>
        <setting name="mapUnderscoreToCamelCase" value="true"/>
    </settings>

</configuration>

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{
    
    @Autowired
    private UserService userService;
    
    @Autowired
    private 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);
        userService.updateById(user);//全部更新
        return R.ok();
    }

/**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        userService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
}

基于SSM的心理健康系统相关推荐

  1. 基于JAVA大学生心理健康系统计算机毕业设计源码+系统+lw文档+部署

    基于JAVA大学生心理健康系统计算机毕业设计源码+系统+lw文档+部署 基于JAVA大学生心理健康系统计算机毕业设计源码+系统+lw文档+部署 本源码技术栈: 项目架构:B/S架构 开发语言:Java ...

  2. 基于ssm的crm系统开源_基于云的CRM软件工具

    基于ssm的crm系统开源 We all are aware that Internet has become a crucial part of our day-to-day lives. In t ...

  3. SSM+基于SSM的家教系统 毕业设计-附源码221752

    基于SSM的家教系统的设计与实现 摘 要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克 ...

  4. java项目-第94期基于ssm的在线答题系统-计算机毕业设计

    java项目-第94期基于ssm的在线答题系统 [源码请到资源专栏下载] 1.项目简述 该项目是一款漂亮的在线答题系统,用户登录系统可以进行各行各业的答题. 管理员可以登录超级后台进行用户管理.试题库 ...

  5. 基于SSM+springboot框架系统的易购网

      该项目为大二下学期学校网课培训javaEE的教学内容,主要框架SSM+springboot,主要难点springboot运用起来也较为容易理解SSM框架则为我们学习过的内容,之后又通过该项目的SS ...

  6. ssm项目模板_基于SSM的论坛系统发布可商业、学习、毕设

    基于SSM的论坛系统发布,界面非常的漂亮,功能很齐全,非常的6-- SSM旅游论坛是一款基于JAVA企业级平台研发的社交管理系统,是一个可以用来搭建门户.群组.论坛和问答的社区系统,是将SNS社会化网 ...

  7. java ssm oa_基于SSM的OA系统

    基于SSM的OA系统: -Mybatis.Spring.SpringMVC -MySql 主要技术: -SpringIOC -Mybatis+Spring整合 -声明式事务 -Spring标签库 -S ...

  8. 基于SSM在线考试系统的核心功能之一自动组卷的实现 SpringBoot版本

    基于SSM在线考试系统的核心功能之一–>自动组卷的实现 大家都知道,在考试系统中有个核心的功能 就是组卷的过程 什么是组卷呢? 组卷分成 : 手动组卷 和 随机组卷 手动组卷就是操作人选择对应的 ...

  9. 基于SSM电影购票系统【源码开源】

    今天给大家分享一个基于SSM的电影购票系统系统,分享给大家,希望多多支持 源码在文章末尾链接获取 1. 项目介绍 基于SSM电影购票系统,本项目分为前台和后台,用户有普通用户和管理员,普通用户只可访问 ...

最新文章

  1. vertical-align 和 img属性 和 鼠标样式
  2. spring hibernate 连接sqlserver 数据库的时候还需要jdbc包吗?
  3. 全球最快学术超算Frontera,也用英特尔至强可扩展处理器
  4. Linux的权限管理
  5. 快速解决工作中遇到经典的括号匹配问题
  6. RabbitMQ系列教程之二:工作队列(Work Queues)
  7. Qt工作笔记-QTreeWidgetItem中type的基本用法
  8. 【操作系统/OS笔记12】同步互斥的三种实现方法:禁用硬件中断、基于软件的解决方案、更高级的抽象
  9. PyTorch入门(三)损失函数与反向传播
  10. IIS安全设置终极技巧
  11. Linux常见命令tar
  12. base64加密后字符串自动换行问题
  13. Android 11适配指南之系统相机拍照、打开相册
  14. PE头之IMAGE_OPTIONAL_HEADER解析
  15. Postgres psql: 致命错误: 角色 postgres 不存在
  16. 研究背调:云安全--CASB、CSPM、CWPP
  17. python输出学生姓名成绩学号_打印所有学生的姓名,学号,性别,年龄,成绩信息...
  18. python中去除全角空格
  19. Mac OS和Office版本问题
  20. weex android 简书,Weex

热门文章

  1. JavaEE学习之jsp编写登陆注册页面
  2. 借助“商业模式画布”探索产品的用户需求与价值主张
  3. DeepSORT论文翻译(SIMPLE ONLINE AND REALTIME TRACKING WITH A DEEP ASSOCIATION METRIC)
  4. 脑蛋白和计算机意义,冬眠蝙蝠的脑蛋白质组与肝蛋白质组研究
  5. Vmware Ubuntu 无法解析域名解决
  6. Vegas使用技巧—— 如何实现三维立体调整?
  7. Linux下Quagga安装与配置
  8. c++ 构造函数+初始化列表
  9. SWOT分析和PEST分析
  10. iview使用Steps组件路由报错问题