寒假web开发4

表三: Person
sql

点击查看代码
CREATE TABLE tb_person (
    userID VARCHAR(12) PRIMARY KEY ,  -- 信息提供者ID(主键)
    OlderID CHAR(8),                            -- 关联的老人ID(外键)
    ProviderName VARCHAR(50),                   -- A.3.1 信息提供者的姓名
    Relationship INT,                           -- A.3.2 信息提供者与老人的关系
    OtherRelationship VARCHAR(50),              -- A.3.2 其他关系(如果选择“其他”)
    ContactName VARCHAR(50),                    -- A.3.3 联系人姓名
    ContactPhone VARCHAR(20)                 -- A.3.4 联系人电话
);

PersonMapper

点击查看代码
package com.QixunQiu.mapper;

import com.QixunQiu.pojo.Older;
import com.QixunQiu.pojo.Person;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;

public interface PersonMapper {
    @Select("select * from tb_person where userID = #{userID} ")
    List<Person> select(@Param("userID") String userID);

    void addPerson(Person person);
}

Person的pojo

点击查看代码
package com.QixunQiu.pojo;

public class Person {
    private String userID;
    private String olderID;
    private String providerName;
    private Integer relationship;
    private String otherRelationship;
    private String contactName;
    private String contactPhone;

    // Getter 和 Setter 方法
    public String getUserID() {
        return userID;
    }

    public void setUserID(String userID) {
        this.userID = userID;
    }

    public String getOlderID() {
        return olderID;
    }

    public void setOlderID(String olderID) {
        this.olderID = olderID;
    }

    public String getProviderName() {
        return providerName;
    }

    public void setProviderName(String providerName) {
        this.providerName = providerName;
    }

    public Integer getRelationship() {
        return relationship;
    }

    public void setRelationship(Integer relationship) {
        this.relationship = relationship;
    }

    public String getOtherRelationship() {
        return otherRelationship;
    }

    public void setOtherRelationship(String otherRelationship) {
        this.otherRelationship = otherRelationship;
    }

    public String getContactName() {
        return contactName;
    }

    public void setContactName(String contactName) {
        this.contactName = contactName;
    }

    public String getContactPhone() {
        return contactPhone;
    }

    public void setContactPhone(String contactPhone) {
        this.contactPhone = contactPhone;
    }

    @Override
    public String toString() {
        return "Person{" +
                "userID='" + userID + '\'' +
                ", olderID='" + olderID + '\'' +
                ", providerName='" + providerName + '\'' +
                ", relationship=" + relationship +
                ", otherRelationship='" + otherRelationship + '\'' +
                ", contactName='" + contactName + '\'' +
                ", contactPhone='" + contactPhone + '\'' +
                '}';
    }
}

PersonService

点击查看代码
package com.QixunQiu.service;

import com.QixunQiu.mapper.OlderMapper;
import com.QixunQiu.mapper.PersonMapper;
import com.QixunQiu.pojo.Older;
import com.QixunQiu.pojo.Person;
import com.QixunQiu.util.SqlSessionFactoryUtils;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;

import java.util.List;

public class PersonService {
    SqlSessionFactory sqlSessionFactory = SqlSessionFactoryUtils.getSqlSessionFactory();
    public List<Person> selectPerson(String userID) {
        SqlSession sqlSession = sqlSessionFactory.openSession();
        PersonMapper personMapper = sqlSession.getMapper(PersonMapper.class);
        List<Person> Persons=personMapper.select(userID);
        sqlSession.close();
        return Persons;
    }

    public void addPerson(Person person) {
        SqlSession sqlSession = sqlSessionFactory.openSession();
        PersonMapper personMapper = sqlSession.getMapper(PersonMapper.class);
        personMapper.addPerson(person);
        sqlSession.commit();
        sqlSession.close();
    }
}

AddPersonServlet

点击查看代码
package com.QixunQiu.web;

import com.QixunQiu.pojo.Person;
import com.QixunQiu.pojo.User;
import com.QixunQiu.service.PersonService;

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;
import java.util.List;

@WebServlet("/AddPersonServlet")
public class AddPersonServlet extends HttpServlet {
    private PersonService personService = new PersonService();
    @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");
        HttpSession session = request.getSession();
        User user = (User) session.getAttribute("user");
        String userID = user.getUserID();
        String olderID = request.getParameter("olderID");
        String providerName = request.getParameter("providerName");
        String relationship= request.getParameter("relationship");
        String otherRelationship= request.getParameter("otherRelationship");
        String contactName= request.getParameter("contactName");
        String contactPhone= request.getParameter("contactPhone");

        Person person = new Person();
        person.setUserID(userID);
        person.setOlderID(olderID);
        person.setProviderName(providerName);
        person.setRelationship(Integer.valueOf(relationship));
        person.setOtherRelationship(otherRelationship);
        person.setContactName(contactName);
        person.setContactPhone(contactPhone);

        personService.addPerson(person);
        List<Person> persons= personService.selectPerson(user.getUserID());
        session.setAttribute("persons", persons);
        request.getRequestDispatcher("/person.jsp").forward(request,response);
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        this.doGet(request, response);
    }
}

selectPersonServlet

点击查看代码
package com.QixunQiu.web;

import com.QixunQiu.pojo.Older;
import com.QixunQiu.pojo.Person;
import com.QixunQiu.pojo.User;
import com.QixunQiu.service.PersonService;

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;

@WebServlet("/selectPersonServlet")
public class selectPersonServlet extends HttpServlet {
    private PersonService personService = new PersonService();
    @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");
        List<Person> persons= personService.selectPerson(user.getUserID());
        PrintWriter writer = response.getWriter();
        if(!persons.isEmpty()){
            // 登陆成功
            writer.write("登陆成功");
            session.setAttribute("persons", persons);
            request.getRequestDispatcher("/person.jsp").forward(request,response);

        }else {
            // 登陆失败
            writer.write("登陆失败");
            request.getRequestDispatcher("/addPerson.jsp").forward(request,response);
        }
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        this.doGet(request, response);
    }
}

PersonMapper.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.PersonMapper">

    <insert id="addPerson" parameterType="com.QixunQiu.pojo.Person">
        INSERT INTO tb_person (
            userID,
            OlderID,
            ProviderName,
            Relationship,
            OtherRelationship,
            ContactName,
            ContactPhone
        ) VALUES (
                     #{userID},
                     #{olderID},
                     #{providerName},
                     #{relationship},
                     #{otherRelationship},
                     #{contactName},
                     #{contactPhone}
                 )
    </insert>
</mapper>

addPerson.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}/AddPersonServlet" method="post">
    <!-- 关联的老人ID -->
    <div class="form-group">
        <label for="olderID">评估编号:</label>
        <input type="text" id="olderID" name="olderID" required>
    </div>

    <!-- 信息提供者的姓名 -->
    <div class="form-group">
        <label for="providerName">信息提供者的姓名:</label>
        <input type="text" id="providerName" name="providerName" required>
    </div>

    <!-- 信息提供者与老人的关系 -->
    <div class="form-group">
        <label for="relationship">信息提供者与老人的关系:</label>
        <select id="relationship" name="relationship" required>
            <option value="1">配偶</option>
            <option value="2">子女</option>
            <option value="3">其他亲属</option>
            <option value="4">雇佣照顾者</option>
            <option value="5">其他</option>
        </select>
    </div>

    <!-- 其他关系 -->
    <div class="form-group">
        <label for="otherRelationship">其他关系(如果选择“其他”):</label>
        <input type="text" id="otherRelationship" name="otherRelationship">
    </div>

    <!-- 联系人姓名 -->
    <div class="form-group">
        <label for="contactName">联系人姓名:</label>
        <input type="text" id="contactName" name="contactName" required>
    </div>

    <!-- 联系人电话 -->
    <div class="form-group">
        <label for="contactPhone">联系人电话:</label>
        <input type="text" id="contactPhone" name="contactPhone" required>
    </div>

    <!-- 提交按钮 -->
    <div class="form-group">
        <input type="submit" class="submit-btn" value="提交">
    </div>
</form>
</body>
</html>

person.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="person" items="${persons}">
        <tr>
            <td>${person.olderID}</td>
            <td>${person.providerName}</td>
            <td>
                <c:choose>
                    <c:when test="${person.relationship == 1}">配偶</c:when>
                    <c:when test="${person.relationship == 2}">子女</c:when>
                    <c:when test="${person.relationship == 3}">其他亲属</c:when>
                    <c:when test="${person.relationship == 4}">雇佣照顾者</c:when>
                    <c:when test="${person.relationship == 5}">其他</c:when>
                    <c:otherwise>未知</c:otherwise>
                </c:choose>
            </td>
            <td>${person.otherRelationship}</td>
            <td>${person.contactName}</td>
            <td>${person.contactPhone}</td>
        </tr>
    </c:forEach>
    </tbody>
</table>
</body>
</html>
posted @   QixunQiu  阅读(0)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
点击右上角即可分享
微信分享提示