寒假web开发7
表六: Mental
sql
点击查看代码
CREATE TABLE tb_mental (
AssessmentID CHAR(8) PRIMARY KEY, -- 评估编号(主键,关联到 tb_older 表的 AssessmentID)
CognitiveTestScore INT, -- B.2.1 认知功能测验(0分、1分、2分)
AggressiveBehaviorScore INT, -- B.2.2 攻击行为(0分、1分、2分)
DepressiveSymptomsScore INT, -- B.2.3 抑郁症状(0分、1分、2分)
TotalScore INT, -- B.2.4 精神状态总分
MentalStatusLevel INT -- B.2 精神状态分级(0: 能力完好, 1: 轻度受损, 2: 中度受损, 3: 重度受损)
);
MentalMapper
点击查看代码
package com.QixunQiu.mapper;
import com.QixunQiu.pojo.Daily;
import com.QixunQiu.pojo.Mental;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
public interface MentalMapper {
@Select("select * from tb_mental where AssessmentID = #{AssessmentID} ")
List<Mental> select(@Param("AssessmentID") String AssessmentID);
void addMental(Mental mental);
}
Mental的pojo
点击查看代码
package com.QixunQiu.pojo;
public class Mental {
private String assessmentID;
private Integer cognitiveTestScore;
private Integer aggressiveBehaviorScore;
private Integer depressiveSymptomsScore;
private Integer totalScore;
private Integer mentalStatusLevel;
// Getter 和 Setter 方法
public String getAssessmentID() {
return assessmentID;
}
public void setAssessmentID(String assessmentID) {
this.assessmentID = assessmentID;
}
public Integer getCognitiveTestScore() {
return cognitiveTestScore;
}
public void setCognitiveTestScore(Integer cognitiveTestScore) {
this.cognitiveTestScore = cognitiveTestScore;
}
public Integer getAggressiveBehaviorScore() {
return aggressiveBehaviorScore;
}
public void setAggressiveBehaviorScore(Integer aggressiveBehaviorScore) {
this.aggressiveBehaviorScore = aggressiveBehaviorScore;
}
public Integer getDepressiveSymptomsScore() {
return depressiveSymptomsScore;
}
public void setDepressiveSymptomsScore(Integer depressiveSymptomsScore) {
this.depressiveSymptomsScore = depressiveSymptomsScore;
}
public Integer getTotalScore() {
return totalScore;
}
public void setTotalScore(Integer totalScore) {
this.totalScore = totalScore;
}
public Integer getMentalStatusLevel() {
return mentalStatusLevel;
}
public void setMentalStatusLevel(Integer mentalStatusLevel) {
this.mentalStatusLevel = mentalStatusLevel;
}
@Override
public String toString() {
return "MentalStatusAssessment{" +
"assessmentID='" + assessmentID + '\'' +
", cognitiveTestScore=" + cognitiveTestScore +
", aggressiveBehaviorScore=" + aggressiveBehaviorScore +
", depressiveSymptomsScore=" + depressiveSymptomsScore +
", totalScore=" + totalScore +
", mentalStatusLevel=" + mentalStatusLevel +
'}';
}
}
MentalService
点击查看代码
package com.QixunQiu.service;
import com.QixunQiu.mapper.MentalMapper;
import com.QixunQiu.pojo.Mental;
import com.QixunQiu.util.SqlSessionFactoryUtils;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import java.util.List;
public class MentalService {
SqlSessionFactory sqlSessionFactory = SqlSessionFactoryUtils.getSqlSessionFactory();
public List<Mental> selectAllMental(String AssessmentID) {
SqlSession sqlSession = sqlSessionFactory.openSession();
MentalMapper mentalMapper = sqlSession.getMapper(MentalMapper.class);
List<Mental> mentals = mentalMapper.select(AssessmentID);
sqlSession.commit();
sqlSession.close();
return mentals;
}
public void add(Mental mental) {
SqlSession sqlSession = sqlSessionFactory.openSession();
MentalMapper mentalMapper = sqlSession.getMapper(MentalMapper.class);
mentalMapper.addMental(mental);
sqlSession.commit();
sqlSession.close();
}
}
AddMentalServlet
点击查看代码
package com.QixunQiu.web;
import com.QixunQiu.pojo.Mental;
import com.QixunQiu.service.MentalService;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;
@WebServlet("/AddMentalServlet")
public class AddMentalServlet extends HttpServlet {
private MentalService mentalService = new MentalService();
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
String assessmentID=request.getParameter("assessmentID");
int cognitiveTestScore=Integer.parseInt(request.getParameter("cognitiveTestScore"));
int aggressiveBehaviorScore=Integer.parseInt(request.getParameter("aggressiveBehaviorScore"));
int depressiveSymptomsScore=Integer.parseInt(request.getParameter("depressiveSymptomsScore"));
// 计算总分
int totalScore = cognitiveTestScore + aggressiveBehaviorScore + depressiveSymptomsScore;
// 计算精神状态分级
int mentalStateLevel;
if (totalScore == 0) {
mentalStateLevel = 0;
} else if (totalScore == 1) {
mentalStateLevel = 1;
} else if (totalScore >= 2 && totalScore <= 3) {
mentalStateLevel = 2;
} else {
mentalStateLevel = 3;
}
Mental mental=new Mental();
mental.setAssessmentID(assessmentID);
mental.setCognitiveTestScore(cognitiveTestScore);
mental.setAggressiveBehaviorScore(aggressiveBehaviorScore);
mental.setDepressiveSymptomsScore(depressiveSymptomsScore);
mental.setTotalScore(totalScore);
mental.setMentalStatusLevel(mentalStateLevel);
mentalService.add(mental);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doGet(request, response);
}
}
selectMentalServlet
点击查看代码
package com.QixunQiu.web;
import com.QixunQiu.pojo.Daily;
import com.QixunQiu.pojo.Mental;
import com.QixunQiu.pojo.Older;
import com.QixunQiu.pojo.User;
import com.QixunQiu.service.MentalService;
import com.QixunQiu.service.OlderService;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;
@WebServlet("/selectMentalServlet")
public class selectMentalServlet extends HttpServlet {
private OlderService olderService = new OlderService();
private MentalService mentalService = new MentalService();
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=utf-8");
HttpSession session = request.getSession();
User user = (User) session.getAttribute("user");
Older older=olderService.selectOlderById(user.getUserID());
List<Mental> mentals=mentalService.selectAllMental(older.getAssessmentID());
PrintWriter writer = response.getWriter();
if(!mentals.isEmpty()){
// 登陆成功
writer.write("登陆成功");
session.setAttribute("mentals", mentals);
request.getRequestDispatcher("/mental.jsp").forward(request,response);
}else {
// 登陆失败
writer.write("登陆失败");
request.getRequestDispatcher("/addMental.jsp").forward(request,response);
}
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doGet(request, response);
}
}
MentalMapper.xml
点击查看代码
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.QixunQiu.mapper.MentalMapper">
<insert id="addMental" parameterType="com.QixunQiu.pojo.Mental">
INSERT INTO tb_mental (
AssessmentID,
CognitiveTestScore,
AggressiveBehaviorScore,
DepressiveSymptomsScore,
TotalScore,
MentalStatusLevel
) VALUES (
#{assessmentID},
#{cognitiveTestScore},
#{aggressiveBehaviorScore},
#{depressiveSymptomsScore},
#{totalScore},
#{mentalStatusLevel}
)
</insert>
</mapper>
addMental.jsp
点击查看代码
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>添加精神状态评估</title>
<style>
body {
font-family: Arial, sans-serif;
margin: 20px;
}
.form-group {
margin-bottom: 15px;
}
label {
display: block;
margin-bottom: 5px;
font-weight: bold;
}
input[type="text"], select {
width: 100%;
padding: 8px;
box-sizing: border-box;
}
.submit-btn {
background-color: #4CAF50;
color: white;
padding: 10px 20px;
border: none;
cursor: pointer;
}
.submit-btn:hover {
background-color: #45a049;
}
</style>
</head>
<body>
<h1>添加精神状态评估</h1>
<form action="${pageContext.request.contextPath}/AddMentalServlet" method="post">
<!-- 评估编号 -->
<div class="form-group">
<label for="assessmentID">评估编号:</label>
<input type="text" id="assessmentID" name="assessmentID" required>
</div>
<!-- 认知功能测验 -->
<div class="form-group">
<label for="cognitiveTestScore">认知功能测验:</label>
<select id="cognitiveTestScore" name="cognitiveTestScore" required>
<option value="0">0分 - 画钟正确,且能回忆出2-3个词</option>
<option value="1">1分 - 画钟错误,或只回忆出0-1个词</option>
<option value="2">2分 - 已确诊为认知障碍,如老年痴呆</option>
</select>
</div>
<!-- 攻击行为 -->
<div class="form-group">
<label for="aggressiveBehaviorScore">攻击行为:</label>
<select id="aggressiveBehaviorScore" name="aggressiveBehaviorScore" required>
<option value="0">0分 - 无身体攻击行为和语言攻击行为</option>
<option value="1">1分 - 每月有几次身体攻击行为,或每周有几次语言攻击行为</option>
<option value="2">2分 - 每周有几次身体攻击行为,或每日有语言攻击行为</option>
</select>
</div>
<!-- 抑郁症状 -->
<div class="form-group">
<label for="depressiveSymptomsScore">抑郁症状:</label>
<select id="depressiveSymptomsScore" name="depressiveSymptomsScore" required>
<option value="0">0分 - 无</option>
<option value="1">1分 - 情绪低落、不爱说话、不爱梳洗、不爱活动</option>
<option value="2">2分 - 有自杀念头或自杀行为</option>
</select>
</div>
<!-- 提交按钮 -->
<div class="form-group">
<input type="submit" class="submit-btn" value="提交">
</div>
</form>
</body>
</html>
mental.jsp
点击查看代码
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>精神状态评估列表</title>
<style>
body {
font-family: Arial, sans-serif;
margin: 20px;
}
h1 {
text-align: center;
}
table {
width: 100%;
border-collapse: collapse;
margin-top: 20px;
}
table, th, td {
border: 1px solid #ddd;
}
th, td {
padding: 10px;
text-align: left;
}
th {
background-color: #f2f2f2;
}
tr:hover {
background-color: #f5f5f5;
}
</style>
</head>
<body>
<h1>精神状态评估列表</h1>
<table>
<thead>
<tr>
<th>评估编号</th>
<th>认知功能测验</th>
<th>攻击行为</th>
<th>抑郁症状</th>
<th>总分</th>
<th>精神状态分级</th>
</tr>
</thead>
<tbody>
<c:forEach var="mental" items="${mentals}">
<tr>
<td>${mental.assessmentID}</td>
<td>
<c:choose>
<c:when test="${mental.cognitiveTestScore == 0}">0分 - 画钟正确,且能回忆出2-3个词</c:when>
<c:when test="${mental.cognitiveTestScore == 1}">1分 - 画钟错误,或只回忆出0-1个词</c:when>
<c:when test="${mental.cognitiveTestScore == 2}">2分 - 已确诊为认知障碍,如老年痴呆</c:when>
<c:otherwise>未知</c:otherwise>
</c:choose>
</td>
<td>
<c:choose>
<c:when test="${mental.aggressiveBehaviorScore == 0}">0分 - 无身体攻击行为和语言攻击行为</c:when>
<c:when test="${mental.aggressiveBehaviorScore == 1}">1分 - 每月有几次身体攻击行为,或每周有几次语言攻击行为</c:when>
<c:when test="${mental.aggressiveBehaviorScore == 2}">2分 - 每周有几次身体攻击行为,或每日有语言攻击行为</c:when>
<c:otherwise>未知</c:otherwise>
</c:choose>
</td>
<td>
<c:choose>
<c:when test="${mental.depressiveSymptomsScore == 0}">0分 - 无</c:when>
<c:when test="${mental.depressiveSymptomsScore == 1}">1分 - 情绪低落、不爱说话、不爱梳洗、不爱活动</c:when>
<c:when test="${mental.depressiveSymptomsScore == 2}">2分 - 有自杀念头或自杀行为</c:when>
<c:otherwise>未知</c:otherwise>
</c:choose>
</td>
<td>${mental.totalScore}</td>
<td>
<c:choose>
<c:when test="${mental.mentalStatusLevel == 0}">0 - 能力完好</c:when>
<c:when test="${mental.mentalStatusLevel == 1}">1 - 轻度受损</c:when>
<c:when test="${mental.mentalStatusLevel == 2}">2 - 中度受损</c:when>
<c:when test="${mental.mentalStatusLevel == 3}">3 - 重度受损</c:when>
<c:otherwise>未知</c:otherwise>
</c:choose>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</body>
</html>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能