基于Spring MVC + Spring + MyBatis的【医院就诊挂号系统】

简介: 基于Spring MVC + Spring + MyBatis的【医院就诊挂号系统】

一、语言和环境


1.实现语言: JAVA语言。

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

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



二、实现效果


9.png

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


10.png


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

11.png


三、实现代码


数据库:


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代码:


目录结构


12.png


JAR包:

13.png


14.png


代码:


=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;
@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
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=false
jdbc.username=root
jdbc.password=123456
jdbc.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">&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


<%@ 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>


相关文章
|
17天前
|
SQL Java 数据库连接
对Spring、SpringMVC、MyBatis框架的介绍与解释
Spring 框架提供了全面的基础设施支持,Spring MVC 专注于 Web 层的开发,而 MyBatis 则是一个高效的持久层框架。这三个框架结合使用,可以显著提升 Java 企业级应用的开发效率和质量。通过理解它们的核心特性和使用方法,开发者可以更好地构建和维护复杂的应用程序。
106 29
|
1月前
|
存储 安全 Java
Spring Boot 3 集成Spring AOP实现系统日志记录
本文介绍了如何在Spring Boot 3中集成Spring AOP实现系统日志记录功能。通过定义`SysLog`注解和配置相应的AOP切面,可以在方法执行前后自动记录日志信息,包括操作的开始时间、结束时间、请求参数、返回结果、异常信息等,并将这些信息保存到数据库中。此外,还使用了`ThreadLocal`变量来存储每个线程独立的日志数据,确保线程安全。文中还展示了项目实战中的部分代码片段,以及基于Spring Boot 3 + Vue 3构建的快速开发框架的简介与内置功能列表。此框架结合了当前主流技术栈,提供了用户管理、权限控制、接口文档自动生成等多项实用特性。
81 8
|
2月前
|
设计模式 前端开发 Java
步步深入SpringMvc DispatcherServlet源码掌握springmvc全流程原理
通过对 `DispatcherServlet`源码的深入剖析,我们了解了SpringMVC请求处理的全流程。`DispatcherServlet`作为前端控制器,负责请求的接收和分发,处理器映射和适配负责将请求分派到具体的处理器方法,视图解析器负责生成和渲染视图。理解这些核心组件及其交互原理,有助于开发者更好地使用和扩展SpringMVC框架。
66 4
|
2月前
|
Java 数据库 数据安全/隐私保护
轻松掌握Spring依赖注入:打造你的登录验证系统
本文以轻松活泼的风格,带领读者走进Spring框架中的依赖注入和登录验证的世界。通过详细的步骤和代码示例,我们从DAO层的创建到Service层的实现,再到Spring配置文件的编写,最后通过测试类验证功能,一步步构建了一个简单的登录验证系统。文章不仅提供了实用的技术指导,还以口语化和生动的语言,让学习变得不再枯燥。
54 2
|
3月前
|
前端开发 Java 开发者
Spring MVC中的请求映射:@RequestMapping注解深度解析
在Spring MVC框架中,`@RequestMapping`注解是实现请求映射的关键,它将HTTP请求映射到相应的处理器方法上。本文将深入探讨`@RequestMapping`注解的工作原理、使用方法以及最佳实践,为开发者提供一份详尽的技术干货。
229 2
|
4月前
|
JSON 前端开发 Java
SSM:SpringMVC
本文介绍了SpringMVC的依赖配置、请求参数处理、注解开发、JSON处理、拦截器、文件上传下载以及相关注意事项。首先,需要在`pom.xml`中添加必要的依赖,包括Servlet、JSTL、Spring Web MVC等。接着,在`web.xml`中配置DispatcherServlet,并设置Spring MVC的相关配置,如组件扫描、默认Servlet处理器等。然后,通过`@RequestMapping`等注解处理请求参数,使用`@ResponseBody`返回JSON数据。此外,还介绍了如何创建和配置拦截器、文件上传下载的功能,并强调了JSP文件的放置位置,避免404错误。
|
4月前
|
前端开发 Java 应用服务中间件
【Spring】Spring MVC的项目准备和连接建立
【Spring】Spring MVC的项目准备和连接建立
77 2
|
3月前
|
JavaScript NoSQL Java
CC-ADMIN后台简介一个基于 Spring Boot 2.1.3 、SpringBootMybatis plus、JWT、Shiro、Redis、Vue quasar 的前后端分离的后台管理系统
CC-ADMIN后台简介一个基于 Spring Boot 2.1.3 、SpringBootMybatis plus、JWT、Shiro、Redis、Vue quasar 的前后端分离的后台管理系统
90 0
|
4月前
|
XML 前端开发 Java
Spring,SpringBoot和SpringMVC的关系以及区别 —— 超准确,可当面试题!!!也可供零基础学习
本文阐述了Spring、Spring Boot和Spring MVC的关系与区别,指出Spring是一个轻量级、一站式、模块化的应用程序开发框架,Spring MVC是Spring的一个子框架,专注于Web应用和网络接口开发,而Spring Boot则是对Spring的封装,用于简化Spring应用的开发。
319 0
Spring,SpringBoot和SpringMVC的关系以及区别 —— 超准确,可当面试题!!!也可供零基础学习
|
6月前
|
开发框架 前端开发 .NET
ASP.NET MVC WebApi 接口返回 JOSN 日期格式化 date format
ASP.NET MVC WebApi 接口返回 JOSN 日期格式化 date format
84 0