前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java医院就诊挂号系统

Java医院就诊挂号系统

作者头像
Java团长
发布2021-09-18 15:12:32
1.4K0
发布2021-09-18 15:12:32
举报

本文链接:

https://blog.csdn.net/weixin_44893902/article/details/119986708

一、语言和环境

1. 实现语言: JAVA语言。

2. 环境要求: MyEclipse/Eclipse + Tomcat + MySQL。

3. 使用技术: Spring MVC + Spring + MyBatis 或 JSP + Servlet + JavaBean + JDBC。

二、实现效果

实现能够对患者姓名,医师类别、科室的模糊查询,用户点击核销以后状态变为已就诊。

点击挂号实现基本信息的添加

三、实现代码

数据库:

代码语言:javascript
复制
SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------
-- Table structure for tb_patient
-- ----------------------------
DROP TABLE IF EXISTS `tb_patient`;
CREATE TABLE `tb_patient` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(50) DEFAULT NULL,
  `sex` varchar(10) DEFAULT NULL,
  `age` int(11) DEFAULT NULL,
  `phone` varchar(20) DEFAULT NULL,
  `department` varchar(50) DEFAULT NULL,
  `type` varchar(50) DEFAULT NULL,
  `price` decimal(9,2) DEFAULT NULL,
  `state` int(11) DEFAULT NULL,
  `register_time` datetime DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of tb_patient
-- ----------------------------
INSERT INTO `tb_patient` VALUES ('1', '张蕾', '女', '12', '13895463212', '儿科', '专家医师', '25.00', '1', '2021-07-18 12:23:00');
INSERT INTO `tb_patient` VALUES ('2', '刘德明', '男', '28', '13345623215', '骨科', '普通医师', '8.00', '0', '2021-07-18 12:23:00');
INSERT INTO `tb_patient` VALUES ('3', '李将军', '男', '38', '13578064788', '内科', '专家医师', '25.00', '1', '2021-07-17 12:23:00');
INSERT INTO `tb_patient` VALUES ('4', '张佩佩', '女', '44', '18214217246', '外科', '副主任医师', '17.00', '0', '2021-07-16 12:23:00');
INSERT INTO `tb_patient` VALUES ('5', '程聪明', '男', '29', '13652645964', '骨科', '副主任医师', '17.00', '0', '2021-08-08 16:21:52');

项目Java代码:

目录结构

JAR包:
代码:
=src
> com.mhys.crm.controller
HospitalContrller.java
代码语言:javascript
复制
package com.mhys.crm.controller;

import java.util.List;

import javax.annotation.Resource;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

import com.mhys.crm.dao.TbPatientMapper;
import com.mhys.crm.entity.TbPatient;

@Controller
public class HospitalContrller {
  @Resource
  private TbPatientMapper tbPatientMapper;

  @RequestMapping("/select")
  public String getList(Model model) {
    List<TbPatient> selctAll = tbPatientMapper.selectAlls();
    System.out.println(selctAll);
    model.addAttribute("selctAll", selctAll);
    return "info";
  }

  @RequestMapping("/list")
  public String getAll(Model model, String name, String type, String dep) {
    List<TbPatient> selctAll = tbPatientMapper.selectAll(name, type, dep);
    System.out.println(name+"==="+type+"==="+dep);
    model.addAttribute("selctAll", selctAll);
    return "info";
  }

  @RequestMapping("/upd")
  public String upDev(Model model,int id) {
    int update = tbPatientMapper.update(id);
    return "redirect:/select.do";
  }

  @RequestMapping("/adds")
  public String adds(Model model) {
    return "addInfo";
  }

  @RequestMapping("/insert")
  public String toaddDev(Model model,TbPatient tb) {
    tbPatientMapper.insert(tb);
      return "redirect:/select.do";
  }

}
> com.mhys.crm.dao
TbPatientMapper.java
代码语言:javascript
复制
package com.mhys.crm.dao;

import com.mhys.crm.entity.TbPatient;
import java.util.List;

import org.apache.ibatis.annotations.Param;

public interface TbPatientMapper {
    int deleteByPrimaryKey(Integer id);

    int insert(TbPatient record);

    TbPatient selectByPrimaryKey(Integer id);

    List<TbPatient> selectAlls();

    int updateByPrimaryKey(TbPatient record);

    int update(Integer id);

    List<TbPatient> selectAll(@Param("name")String name,@Param("type")String type,@Param("dep")String dap);
}

TbPatientMapper.xml

代码语言:javascript
复制
<?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.mhys.crm.dao.TbPatientMapper" >
  <resultMap id="BaseResultMap" type="com.mhys.crm.entity.TbPatient" >
    <id column="id" property="id" jdbcType="INTEGER" />
    <result column="name" property="name" jdbcType="VARCHAR" />
    <result column="sex" property="sex" jdbcType="VARCHAR" />
    <result column="age" property="age" jdbcType="INTEGER" />
    <result column="phone" property="phone" jdbcType="VARCHAR" />
    <result column="department" property="department" jdbcType="VARCHAR" />
    <result column="type" property="type" jdbcType="VARCHAR" />
    <result column="price" property="price" jdbcType="DECIMAL" />
    <result column="state" property="state" jdbcType="INTEGER" />
    <result column="register_time" property="registerTime" jdbcType="TIMESTAMP" />
  </resultMap>
  <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
    delete from tb_patient
    where id = #{id,jdbcType=INTEGER}
  </delete>
  <insert id="insert" parameterType="com.mhys.crm.entity.TbPatient" >
    insert into tb_patient (id, name, sex, 
      age, phone, department, 
      type, price, state, 
      register_time)
    values (#{id,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, #{sex,jdbcType=VARCHAR}, 
      #{age,jdbcType=INTEGER}, #{phone,jdbcType=VARCHAR}, #{department,jdbcType=VARCHAR}, 
      #{type,jdbcType=VARCHAR}, #{price,jdbcType=DECIMAL}, #{state,jdbcType=INTEGER}, 
      #{registerTime,jdbcType=TIMESTAMP})
  </insert>
  <update id="updateByPrimaryKey" parameterType="com.mhys.crm.entity.TbPatient" >
    update tb_patient
    set name = #{name,jdbcType=VARCHAR},
      sex = #{sex,jdbcType=VARCHAR},
      age = #{age,jdbcType=INTEGER},
      phone = #{phone,jdbcType=VARCHAR},
      department = #{department,jdbcType=VARCHAR},
      type = #{type,jdbcType=VARCHAR},
      price = #{price,jdbcType=DECIMAL},
      state = #{state,jdbcType=INTEGER},
      register_time = #{registerTime,jdbcType=TIMESTAMP}
    where id = #{id,jdbcType=INTEGER}
  </update>

  <select id="selectAlls" resultMap="BaseResultMap" >
    select id, name, sex, age, phone, department, type, price, state, register_time
    from tb_patient
  </select>

  <select id="selectAll" resultMap="BaseResultMap" >
    select id, name, sex, age, phone, department, type, price, state, register_time
    from tb_patient
    <where>
    <if test="name!=null and name!=''">
      and name = #{name}
    </if>
  <if test="type!=null and type!=''">
      and type = #{type}
    </if>
    <if test="dep!=null and dep!=''">
      and department = #{dep}
    </if>
    </where>
  </select>

  <update id="update" parameterType="com.mhys.crm.entity.TbPatient" >
    update tb_patient set state=1 where id = #{id,jdbcType=INTEGER}
  </update>

</mapper>
> com.mhys.crm.entity
TbPatient.java
代码语言:javascript
复制
package com.mhys.crm.entity;

import java.math.BigDecimal;
import java.util.Date;

public class TbPatient {
    private Integer id;

    private String name;

    private String sex;

    private Integer age;

    private String phone;

    private String department;

    private String type;

    private BigDecimal price;

    private Integer state;

    private Date registerTime;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name == null ? null : name.trim();
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex == null ? null : sex.trim();
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone == null ? null : phone.trim();
    }

    public String getDepartment() {
        return department;
    }

    public void setDepartment(String department) {
        this.department = department == null ? null : department.trim();
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type == null ? null : type.trim();
    }

    public BigDecimal getPrice() {
        return price;
    }

    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    public Integer getState() {
        return state;
    }

    public void setState(Integer state) {
        this.state = state;
    }

    public Date getRegisterTime() {
        return registerTime;
    }

    public void setRegisterTime(Date registerTime) {
        this.registerTime = registerTime;
    }

  @Override
  public String toString() {
    return "TbPatient [id=" + id + ", name=" + name + ", sex=" + sex + ", age=" + age + ", phone=" + phone
        + ", department=" + department + ", type=" + type + ", price=" + price + ", state=" + state
        + ", registerTime=" + registerTime + "]";
  }


}
> com.mhys.crm.service.impl
HospitalService.java
代码语言:javascript
复制
package com.mhys.crm.service.impl;

import java.util.List;

import javax.annotation.Resource;

import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

import com.mhys.crm.dao.TbPatientMapper;
import com.mhys.crm.entity.TbPatient;

public class HospitalService {
  @Resource
  private TbPatientMapper tbPatientMapper;

  @RequestMapping("/select")
  public String getList(Model model) {
    List<TbPatient> selctAll = tbPatientMapper.selectAlls();
    System.out.println(selctAll);
    model.addAttribute("selctAll", selctAll);
    return "info";
  }

  @RequestMapping("/list")
  public String getAll(Model model, String name, String type, String dep) {
    List<TbPatient> selctAll = tbPatientMapper.selectAll(name, type, dep);
    System.out.println(name+"==="+type+"==="+dep);
    model.addAttribute("selctAll", selctAll);
    return "info";
  }

  @RequestMapping("/upd")
  public String upDev(Model model,int id) {
    int update = tbPatientMapper.update(id);
    return "redirect:/select.do";
  }

  @RequestMapping("/adds")
  public String adds(Model model) {
    return "addInfo";
  }

  @RequestMapping("/insert")
  public String toaddDev(Model model,TbPatient tb) {
    tbPatientMapper.insert(tb);
      return "redirect:/select.do";
  }
}
=resource
> mybatis
SqlMapConfig.xml
代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>

  <typeAliases>
    <package name="com.mhys.crm.entity"/>
  </typeAliases>

</configuration>
> spring
applicationContext-dao.xml
代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
  xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"
  xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
  http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
  http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
  http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd">

  <context:property-placeholder location="classpath:database.properties"></context:property-placeholder>
  <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
    <property name="driverClassName" value="${jdbc.driver}"></property>
    <property name="Url" value="${jdbc.url}"></property>
    <property name="username" value="${jdbc.username}"></property>
    <property name="password" value="${jdbc.password}"></property>
  </bean>
  <!-- 配置SqlSessionFactory -->
  <bean class="org.mybatis.spring.SqlSessionFactoryBean">
    <!-- 设置MyBatis核心配置文件 -->
    <property name="configLocation" value="classpath:mybatis/SqlMapConfig.xml" />
    <!-- 设置数据源 -->
    <property name="dataSource" ref="dataSource" />
  </bean>
  <!-- 配置Mapper扫描 -->
  <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    <!-- 设置Mapper扫描包 -->
    <property name="basePackage"  value="com.mhys.crm.dao" />
  </bean>
  <!-- 配置事务管理器 -->
    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
      <property name="dataSource" ref="dataSource"></property>
    </bean>
    <!-- 开启注解方式管理AOP事务 -->
    <tx:annotation-driven transaction-manager="transactionManager" />

</beans>

applicationContext-service.xml

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
  xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"
  xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
  http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
  http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
  http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd">
    <!-- 配置Service扫描 -->
  <context:component-scan base-package="com" />
  <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    <property name="dataSource" ref="dataSource"></property>
  </bean>
  <tx:annotation-driven transaction-manager="transactionManager" />
</beans>

spring-mvc.xml

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
  xmlns:context="http://www.springframework.org/schema/context"
  xmlns:mvc="http://www.springframework.org/schema/mvc"
  xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd">
    <!-- 配置Controller扫描 -->
  <context:component-scan base-package="com.mhys.crm.controller" />
  <mvc:annotation-driven />
  <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/WEB-INF/jsp/" />
    <property name="suffix" value=".jsp" />
  </bean>
</beans>
> database.properties
代码语言:javascript
复制
jdbc.url=jdbc:mysql://localhost:3306/hospital_db?useUnicode=true&characterEncoding=UTF-8&useSSL=false
jdbc.username=root
jdbc.password=123456
jdbc.driver=com.mysql.jdbc.Driver
=JSP页面
> /WEB-INF/jsp/
addInfo.jsp
代码语言:javascript
复制
<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>挂号</title>
  </head>
  <body>
    <form action="insert.do" method="post">
      <table border="" cellspacing="" cellpadding="">

        <tr>
          <td>姓名</td>
          <td><input type="text" name="name" value="" /></td>
        </tr>
        <tr>
          <td>性别</td>
          <td><input type="text" name="sex" value=""/></td>
        </tr>
        <tr>
          <td>年龄</td>
          <td><input type="text" name="age" value=""/></td>
        </tr>
        <tr>
          <td>电话</td>
          <td><input type="text" name="phone" value=""/></td>
        </tr>
        <tr>
          <td>医师类别</td>
          <td><input type="text" name="department" value=""/></td>
        </tr>
        <tr>
          <td>价格</td>
          <td><input type="text" name="price" value=""/></td>
        </tr>
        <tr>
          <td>挂号时间</td>
          <td><input type="text" name="registerTime" value=""/></td>
        </tr>

      </table>
      <input type="submit" value="确定" />
    </form>
  </body>
</html>

info.jsp

代码语言:javascript
复制
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>医院就诊挂号系统</title>
<style type="text/css">
  form{
    padding: 20px;
  }
  #warp{
    margin:0 auto;
    width: 60%
  }
</style>
</head>
<body>
  <h1 align="center">医院就诊挂号系统</h1>
  <div id="warp">
    <form action="list.do">
    患者姓名:<input type="text" name="name">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    医师类别:
        <select name="type">
          <option value="" >=不限=</option>
          <option value="专家医师" >专家医师</option>
          <option value="普通医师" >普通医师</option>
          <option value="副主任医师" >副主任医师</option>
        </select>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    科室:<input type="text" name="dep">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    <input type="submit" value="查询">&nbsp;&nbsp;&nbsp;
    <input type="button" value="挂号" onclick="add()">
  </form>
  <table style="margin-bottom: 30px;" width="100%" border="1px" cellpadding="11" cellspacing="0">
    <tr>
      <th>编号</th>
      <th>姓名</th>
      <th>性别</th>
      <th>年龄</th>
      <th>电话</th>
      <th>科室</th>
      <th>医师类别</th>
      <th>价格</th>
      <th>挂号时间</th>
      <th>状态</th>
      <th>操作</th>
    </tr>
    <c:forEach var="list" items="${selctAll }">
      <tr>
        <td>${list.id }</td>
        <td>${list.name }</td>
        <td>${list.sex }</td>
        <td>${list.age }</td>
        <td>${list.phone }</td>
        <td>${list.department }</td>
        <td>${list.type }</td>
        <td>${list.price }</td>
        <td><fmt:formatDate value="${list.registerTime }" pattern="yyyy-MM-dd"/></td>
        <td>
          <c:if test="${list.state==0}">
               未就诊
             </c:if>
          <c:if test="${list.state==1}">
               已就诊
             </c:if>
        </td>
        <td>
          <c:if test="${list.state==0}">
               <a href="javascript:if(confirm('确实要核销该挂号信息吗?'))location='upd.do?id=${list.id }'">核销</a>
             </c:if>
          <%-- <c:if test="${list.state==1}">
               已就诊
             </c:if> --%>
        </td>
      </tr>
    </c:forEach>
  </table>
  </div>
  <script type="text/javascript">
  function add() {
    location.href="adds.do";
  }
  </script>
</body>
</html>

index.jsp

代码语言:javascript
复制
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path;
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>XXX系统</title>
</head>
<body>
<script>
  window.location.href="<%=basePath%>/select.do";
</script>
</body>
</html>

源码下载

链接:

https://pan.baidu.com/s/1tUxW8LRC-AerI5O5gE7gLw

提取码: x56u

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-09-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java团长 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、语言和环境
  • 二、实现效果
  • 三、实现代码
    • 数据库:
      • 项目Java代码:
        • JAR包:
        • 代码:
    • 源码下载
    相关产品与服务
    云数据库 MySQL
    腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档