假期作业4
新建信息界面:
点击查看代码
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page isELIgnored="false" %>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>新建基本信息表</title>
<style>
/* 全局样式 */
body {
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
background-color: #f9f9f9;
color: #333;
margin: 0;
padding: 20px;
display: flex;
flex-direction: column;
align-items: center;
}
h1 {
color: #007BFF;
font-size: 28px;
margin-bottom: 20px;
}
form {
background-color: #fff;
padding: 30px;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
width: 100%;
max-width: 600px;
display: flex;
flex-direction: column;
}
label {
display: block;
font-weight: 600;
margin-bottom: 5px;
color: #555;
}
input[type="text"],
input[type="date"],
input[type="number"] {
width: 100%;
padding: 12px;
margin-bottom: 20px;
border: 1px solid #ccc;
border-radius: 4px;
box-sizing: border-box;
font-size: 16px;
}
input[type="text"]:focus,
input[type="date"]:focus,
input[type="number"]:focus {
border-color: #007BFF;
outline: none;
box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.25);
}
input[type="submit"] {
background-color: #007BFF;
color: white;
padding: 12px 20px;
border: none;
border-radius: 4px;
cursor: pointer;
font-size: 16px;
transition: background-color 0.3s ease;
}
input[type="submit"]:hover {
background-color: #0056b3;
}
#message {
margin-top: 20px;
padding: 10px;
border-radius: 4px;
text-align: center;
font-size: 16px;
}
#message.success {
background-color: #d4edda;
color: #155724;
}
#message.error {
background-color: #f8d7da;
color: #721c24;
}
/* 响应式设计 */
@media (max-width: 600px) {
form {
padding: 20px;
}
}
</style>
</head>
<body>
<h1>新建基本信息表</h1>
<form id="addDataForm" action="${pageContext.request.contextPath}/addBaseServlet" method="post">
<!-- 评估日期 -->
<label for="assessmentDate">评估日期:</label>
<input type="date" id="assessmentDate" name="assessmentDate" required>
<!-- 评估原因 -->
<label for="assessmentReason">评估原因:</label>
<input type="number" id="assessmentReason" name="assessmentReason" required>
<!-- 姓名 -->
<label for="name">姓名:</label>
<input type="text" id="name" name="name" required>
<!-- 性别 -->
<label for="gender">性别:</label>
<input type="text" id="gender" name="gender" required>
<!-- 出生日期 -->
<label for="birthDate">出生日期:</label>
<input type="date" id="birthDate" name="birthDate" required>
<!-- 身份证号 -->
<label for="idCard">身份证号:</label>
<input type="text" id="idCard" name="idCard" required>
<!-- 社保卡号 -->
<label for="socialCard">社保卡号:</label>
<input type="text" id="socialCard" name="socialCard" required>
<!-- 民族 -->
<label for="ethnicity">民族:</label>
<input type="text" id="ethnicity" name="ethnicity" required>
<!-- 文化程度 -->
<label for="educationLevel">文化程度:</label>
<input type="number" id="educationLevel" name="educationLevel" required>
<!-- 宗教信仰 -->
<label for="religious">宗教信仰:</label>
<input type="number" id="religious" name="religious" required>
<!-- 婚姻状况 -->
<label for="maritalStatus">婚姻状况:</label>
<input type="number" id="maritalStatus" name="maritalStatus" required>
<!-- 居住情况 -->
<label for="livingCondition">居住情况:</label>
<input type="number" id="livingCondition" name="livingCondition" required>
<!-- 医疗费用支付方式 -->
<label for="medicalPayment">医疗费用支付方式:</label>
<input type="number" id="medicalPayment" name="medicalPayment" required>
<!-- 经济来源 -->
<label for="economicSource">经济来源:</label>
<input type="number" id="economicSource" name="economicSource" required>
<!-- 痴呆情况 -->
<label for="dementia">痴呆情况:</label>
<input type="number" id="dementia" name="dementia" required>
<!-- 精神疾病情况 -->
<label for="mentalIllness">精神疾病情况:</label>
<input type="number" id="mentalIllness" name="mentalIllness" required>
<!-- 慢性疾病 -->
<label for="chronicDiseases">慢性疾病:</label>
<input type="text" id="chronicDiseases" name="chronicDiseases" required>
<!-- 跌倒情况 -->
<label for="fall">跌倒情况:</label>
<input type="number" id="fall" name="fall" required>
<!-- 走失情况 -->
<label for="gettingLost">走失情况:</label>
<input type="number" id="gettingLost" name="gettingLost" required>
<!-- 噎食情况 -->
<label for="choking">噎食情况:</label>
<input type="number" id="choking" name="choking" required>
<!-- 自杀情况 -->
<label for="suicide">自杀情况:</label>
<input type="number" id="suicide" name="suicide" required>
<!-- 其他信息 -->
<label for="otherInfo">其他信息:</label>
<input type="text" id="otherInfo" name="otherInfo" required>
<!-- 信息提供者姓名 -->
<label for="informantName">信息提供者姓名:</label>
<input type="text" id="informantName" name="informantName" required>
<!-- 信息提供者与老人关系 -->
<label for="relationship">信息提供者与老人关系:</label>
<input type="text" id="relationship" name="relationship" required>
<!-- 联系人姓名 -->
<label for="contactName">联系人姓名:</label>
<input type="text" id="contactName" name="contactName" required>
<!-- 联系人电话 -->
<label for="contactPhone">联系人电话:</label>
<input type="text" id="contactPhone" name="contactPhone" required>
<input type="submit" value="提交">
</form>
<div id="message"></div>
</body>
</html>
servlet:
点击查看代码
package com.vivy.web;
import com.vivy.pojo.Base;
import com.vivy.service.BaseService;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.text.SimpleDateFormat;
import java.util.Date;
@WebServlet("/addBaseServlet")
public class addBaseServlet extends HttpServlet {
private BaseService service = new BaseService();
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 设置请求和响应的字符编码为 UTF-8,防止中文乱码
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=utf-8");
// 创建 Base 对象
Base base = new Base();
// 从请求中获取表单数据并设置到 Base 对象中
String id = generateID();
base.setAssessmentId(id);
base.setAssessmentDate(request.getParameter("assessmentDate"));
base.setAssessmentReason(Integer.valueOf(request.getParameter("assessmentReason")));
base.setName(request.getParameter("name"));
base.setGender(request.getParameter("gender"));
base.setBirthDate(request.getParameter("birthDate"));
base.setIdCard(request.getParameter("idCard"));
base.setSocialCard(request.getParameter("socialCard"));
base.setEthnicity(request.getParameter("ethnicity"));
base.setEducationLevel(Integer.valueOf(request.getParameter("educationLevel")));
base.setReligious(Integer.valueOf(request.getParameter("religious")));
base.setMaritalStatus(Integer.valueOf(request.getParameter("maritalStatus")));
base.setLivingCondition(Integer.valueOf(request.getParameter("livingCondition")));
base.setMedicalPayment(Integer.valueOf(request.getParameter("medicalPayment")));
base.setEconomicSource(Integer.valueOf(request.getParameter("economicSource")));
base.setDementia(Integer.valueOf(request.getParameter("dementia")));
base.setMentalIllness(Integer.valueOf(request.getParameter("mentalIllness")));
base.setChronicDiseases(request.getParameter("chronicDiseases"));
base.setFall(Integer.valueOf(request.getParameter("fall")));
base.setGettingLost(Integer.valueOf(request.getParameter("gettingLost")));
base.setChoking(Integer.valueOf(request.getParameter("choking")));
base.setSuicide(Integer.valueOf(request.getParameter("suicide")));
base.setOtherInfo(request.getParameter("otherInfo"));
base.setInformantName(request.getParameter("informantName"));
base.setRelationship(request.getParameter("relationship"));
base.setContactName(request.getParameter("contactName"));
base.setContactPhone(request.getParameter("contactPhone"));
service.add(base);
request.getRequestDispatcher("/selectAllServlet").forward(request,response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// POST 请求调用 doGet 方法处理
this.doGet(request, response);
}
private int sequenceNumber = 1;
public synchronized String generateID() {
// 获取当前日期
Date now = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy");
String dateStr = sdf.format(now);
// 读取或初始化sequenceNumber
if (sequenceNumber == 1) {
File file = new File("sequenceNumber.txt");
if (file.exists()) {
try {
BufferedReader reader = new BufferedReader(new FileReader(file));
String line = reader.readLine();
sequenceNumber = Integer.parseInt(line);
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
// 组合房产编号
String sequenceStr = String.format("%04d", sequenceNumber++);
String ID = dateStr + sequenceStr;
// 更新sequenceNumber到文件
try {
BufferedWriter writer = new BufferedWriter(new FileWriter("sequenceNumber.txt"));
writer.write(String.valueOf(sequenceNumber));
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
return ID;
}
}
service:
点击查看代码
package com.vivy.service;
import com.vivy.mapper.BaseMapper;
import com.vivy.pojo.Base;
import com.vivy.util.SqlSessionFactoryUtils;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import java.util.List;
public class BaseService {
SqlSessionFactory sqlSessionFactory = SqlSessionFactoryUtils.getSqlSessionFactory();
public void add(Base base){
SqlSession sqlSession = sqlSessionFactory.openSession();
BaseMapper baseMapper = sqlSession.getMapper(BaseMapper.class);
baseMapper.add(base);
sqlSession.commit();
sqlSession.close();
}
点击查看代码
package com.vivy.pojo;
public class Base {
private String assessmentId;
private String assessmentDate;
private Integer assessmentReason;
private String name;
private String gender;
private String birthDate;
private String idCard;
private String socialCard;
private String ethnicity;
private Integer educationLevel;
private Integer religious;
private Integer maritalStatus;
private Integer livingCondition;
private Integer medicalPayment;
private Integer economicSource;
private Integer dementia;
private Integer mentalIllness;
private String chronicDiseases;
private Integer fall;
private Integer gettingLost;
private Integer choking;
private Integer suicide;
private String otherInfo;
private String informantName;
private String relationship;
private String contactName;
private String contactPhone;
// Getters 和 Setters 方法
public String getAssessmentId() {
return assessmentId;
}
public void setAssessmentId(String assessmentId) {
this.assessmentId = assessmentId;
}
public String getAssessmentDate() {
return assessmentDate;
}
public void setAssessmentDate(String assessmentDate) {
this.assessmentDate = assessmentDate;
}
public Integer getAssessmentReason() {
return assessmentReason;
}
public void setAssessmentReason(Integer assessmentReason) {
this.assessmentReason = assessmentReason;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public String getBirthDate() {
return birthDate;
}
public void setBirthDate(String birthDate) {
this.birthDate = birthDate;
}
public String getIdCard() {
return idCard;
}
public void setIdCard(String idCard) {
this.idCard = idCard;
}
public String getSocialCard() {
return socialCard;
}
public void setSocialCard(String socialCard) {
this.socialCard = socialCard;
}
public String getEthnicity() {
return ethnicity;
}
public void setEthnicity(String ethnicity) {
this.ethnicity = ethnicity;
}
public Integer getEducationLevel() {
return educationLevel;
}
public void setEducationLevel(Integer educationLevel) {
this.educationLevel = educationLevel;
}
public Integer getReligious() {
return religious;
}
public void setReligious(Integer religious) {
this.religious = religious;
}
public Integer getMaritalStatus() {
return maritalStatus;
}
public void setMaritalStatus(Integer maritalStatus) {
this.maritalStatus = maritalStatus;
}
public Integer getLivingCondition() {
return livingCondition;
}
public void setLivingCondition(Integer livingCondition) {
this.livingCondition = livingCondition;
}
public Integer getMedicalPayment() {
return medicalPayment;
}
public void setMedicalPayment(Integer medicalPayment) {
this.medicalPayment = medicalPayment;
}
public Integer getEconomicSource() {
return economicSource;
}
public void setEconomicSource(Integer economicSource) {
this.economicSource = economicSource;
}
public Integer getDementia() {
return dementia;
}
public void setDementia(Integer dementia) {
this.dementia = dementia;
}
public Integer getMentalIllness() {
return mentalIllness;
}
public void setMentalIllness(Integer mentalIllness) {
this.mentalIllness = mentalIllness;
}
public String getChronicDiseases() {
return chronicDiseases;
}
public void setChronicDiseases(String chronicDiseases) {
this.chronicDiseases = chronicDiseases;
}
public Integer getFall() {
return fall;
}
public void setFall(Integer fall) {
this.fall = fall;
}
public Integer getGettingLost() {
return gettingLost;
}
public void setGettingLost(Integer gettingLost) {
this.gettingLost = gettingLost;
}
public Integer getChoking() {
return choking;
}
public void setChoking(Integer choking) {
this.choking = choking;
}
public Integer getSuicide() {
return suicide;
}
public void setSuicide(Integer suicide) {
this.suicide = suicide;
}
public String getOtherInfo() {
return otherInfo;
}
public void setOtherInfo(String otherInfo) {
this.otherInfo = otherInfo;
}
public String getInformantName() {
return informantName;
}
public void setInformantName(String informantName) {
this.informantName = informantName;
}
public String getRelationship() {
return relationship;
}
public void setRelationship(String relationship) {
this.relationship = relationship;
}
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 "TbBase{" +
"assessmentId='" + assessmentId + '\'' +
", assessmentDate='" + assessmentDate + '\'' +
", assessmentReason=" + assessmentReason +
", name='" + name + '\'' +
", gender='" + gender + '\'' +
", birthDate='" + birthDate + '\'' +
", idCard='" + idCard + '\'' +
", socialCard='" + socialCard + '\'' +
", ethnicity='" + ethnicity + '\'' +
", educationLevel=" + educationLevel +
", religious=" + religious +
", maritalStatus=" + maritalStatus +
", livingCondition=" + livingCondition +
", medicalPayment=" + medicalPayment +
", economicSource=" + economicSource +
", dementia=" + dementia +
", mentalIllness=" + mentalIllness +
", chronicCiseases='" + chronicDiseases + '\'' +
", fall=" + fall +
", gettingLost=" + gettingLost +
", choking=" + choking +
", suicide=" + suicide +
", otherInfo='" + otherInfo + '\'' +
", informantName='" + informantName + '\'' +
", relationship='" + relationship + '\'' +
", contactName='" + contactName + '\'' +
", contactPhone='" + contactPhone + '\'' +
'}';
}
}
Mapper:
点击查看代码
package com.vivy.mapper;
import com.vivy.pojo.Base;
import java.util.List;
public interface BaseMapper {
void add(Base base);
}
mapper.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.vivy.mapper.BaseMapper">
<insert id="add" parameterType="com.vivy.pojo.Base">
INSERT INTO tb_base (
assessmentId, assessmentDate, assessmentReason, name, gender, birthDate,
idCard, socialCard, ethnicity, educationLevel, religious, maritalStatus,
livingCondition, medicalPayment, economicSource, dementia, mentalIllness,
chronicDiseases, fall, gettingLost, choking, suicide, otherInfo,
informantName, relationship, contactName, contactPhone
) VALUES (
#{assessmentId}, #{assessmentDate}, #{assessmentReason}, #{name}, #{gender}, #{birthDate},
#{idCard}, #{socialCard}, #{ethnicity}, #{educationLevel}, #{religious}, #{maritalStatus},
#{livingCondition}, #{medicalPayment}, #{economicSource}, #{dementia}, #{mentalIllness},
#{chronicDiseases}, #{fall}, #{gettingLost}, #{choking}, #{suicide}, #{otherInfo},
#{informantName}, #{relationship}, #{contactName}, #{contactPhone}
)
</insert>
</mapper>
util:
点击查看代码
package com.vivy.util;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import java.io.IOException;
import java.io.InputStream;
public class SqlSessionFactoryUtils {
private static SqlSessionFactory sqlSessionFactory;
static {
//静态代码块会随着类的加载自动执行,且只执行一次
try {
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
} catch (IOException e) {
throw new RuntimeException(e);
}
}
public static SqlSessionFactory getSqlSessionFactory(){
return sqlSessionFactory;
}
}

浙公网安备 33010602011771号