Java开源系统共享:医院就诊挂号

版权声明:本文为博主原创文章,遵循 CC 4.0 BY 版权协议,转载请附上原文出处链接和本声明。

本文链接:

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。

二、实现效果

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

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

三、实现代码

数据库:

    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
      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;@Controllerpublic 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
        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

          <?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
            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
              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
                <?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
                  <?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

                    <?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

                      <?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
                        jdbc.url=jdbc:mysql://localhost:3306/hospital_db?useUnicode=true&characterEncoding=UTF-8&useSSL=falsejdbc.username=rootjdbc.password=123456jdbc.driver=com.mysql.jdbc.Driver
                        =JSP页面
                        > /WEB-INF/jsp/
                        addInfo.jsp
                          <%@ 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

                            <%@ 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'>      医师类别: <select name='type'> <option value='' >=不限=</option> <option value='专家医师' >专家医师</option> <option value='普通医师' >普通医师</option> <option value='副主任医师' >副主任医师</option> </select>      科室:<input type='text' name='dep'>      <input type='submit' value='查询'>    <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

                              <%@ 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>
                              (0)

                              相关推荐