Java基于Springboot +JPA+thymeleaf+MySQL的宿舍管理系统

前言

Java 是由 Sun Microsystems 公司的 James Gosling (人称 Java 语言之父)等人在上个世纪90年代初开发的一种编程语言,最初被命名为Oak,目标是针对小型家电设备的嵌入式应用,并在 1995 年以Java的名称正式推出。后来 Sun 公司被 Oracle (甲骨文)公司收购,Java 也随之成为 Oracle 公司的产品。随着互联网的高速发展,Java逐渐成为最重要的网络编程语言。

1. 学校宿舍管理系统

1.1系统概述

系统概述:
本系统的主要功能为,楼号管理,宿舍号管理,舍长管理,人数管理,操作管理。

1.2功能介绍

功能介绍:可以对启动成功的页面进行增删改查,并且可以进行楼号、宿舍号、舍长进行筛选查询,查询到的同个楼号信息可以依照宿舍号大小排序,页面信息内容达到十个以上会将数据转到下一页。

1.2.1 楼号管理
1.2.2 宿舍号管理
1.2.3 舍长管理
1.2.4 人数管理
1.2.5 操作管理

1.3 运行环境

1.3.1服务器端环境

操作系统:Windows 11
数据库系统:MySQL数据库
服务器:腾讯云

1.3.2运行软件

运行软件:IntelliJ IDEA 2022.3.2
IntelliJ IDEA 2022.3.2安装和激活

1.4技术要求

技术要求:Springboot +JPA+thymeleaf+MySQL+BootStrap

1.5 系统模块

1.5.1宿舍管理系统模块

在这里插入图片描述

注意:
1.config 解决跨域的配置类
2.controller 处理请求的类
3.pojo.entity 数据封装类
4.repository 数据库调用接口
5.service 业务逻辑封装类
6.SihuoManageApplication 启动宿舍管理系统类
7.application.yml是一种配置文件,用于配置Java应用程序的各种参数和属性。它是基于YAML(YAML Ain’t Markup Language)格式的文件,用于定义应用程序的配置信息。

1.5.1.1楼号管理

可以在楼号这列进行增加及查询有的楼号,对楼号管理进行删除及修改。其中查询可以根据楼号的号数进行查询。

图例:在这里插入图片描述

1.5.1.2舍长管理

可以对宿舍舍长进行筛选查询,查询到的信息有楼号、宿舍号以及宿舍住宿人数,并且可以对这宿舍信息进行修改和删除 。

图例:
在这里插入图片描述

1.5.1.3宿舍号管理

管理员可以在宿舍号管理界面对宿舍进行增加及查询所有的宿舍信息,对宿舍信息进行删除及修改。其中查询可以根据楼号及宿舍号,舍长名,住宿人数进行查询。

图例:
在这里插入图片描述

1.5.1.4人数管理

管理员可以在宿舍管理界面对宿舍住宿人数进行增加及查询所有的宿舍信息,对宿舍信息进行删除及修改。其中查询可以根据楼号及宿舍号,舍长名对人数进行查询。

图例:
在这里插入图片描述

1.5.1.5操作管理

管理员可以在宿舍管理界面对宿舍进行增加及查询所有的宿舍信息,对宿舍信息进行删除及修改。其中查询可以根据楼号及宿舍号,舍长名进行筛选查询。

图例:
在这里插入图片描述

2.代码示例

注意:以下代码并不是完整的,而是宿舍管理系统模板的一部分

config:

package com.example.sihuomanage.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
 
@Configuration // 一定不要忽略此注解
public class CorsConfig implements WebMvcConfigurer {
    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**") // 所有接口都适合使用这个CORS配置
                .allowCredentials(true) // 是否发送 Cookie
                .allowedOriginPatterns("*") // 支持域
                .allowedMethods(new String[]{"GET", "POST", "PUT", "DELETE"}) // 支持方法
                .allowedHeaders("*") // 允许跨域请求中携带的请求头。通过设置为*,表示允许携带任何请求头进行跨域请求。
                .exposedHeaders("*"); //指定允许客户端访问的响应头。通过设置为*,表示允许客户端访问任何响应头。
    }
}

controller:

package com.example.sihuomanage.controller;

import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONUtil;
import com.example.sihuomanage.pojo.entity.ApiResponse;
import com.example.sihuomanage.pojo.entity.SuShe;
import com.example.sihuomanage.service.SuSheService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.web.bind.annotation.*;

@RestController
@Slf4j
public class DataController {
    @Autowired
    SuSheService service;
    @GetMapping("/listData")
    public ApiResponse listData(Integer pageSize, Integer currentPage, @RequestParam(defaultValue = "") String searchCol, @RequestParam(defaultValue = "") String searchText){

            Page<SuShe> suShes = service.listData(pageSize,currentPage,searchCol,searchText);
        return ApiResponse.ok(suShes);
    }



    @PostMapping("/add")
    public ApiResponse add(@RequestBody SuShe addForm){
        if(ObjectUtil.isNull(addForm.getId())){
            service.add(addForm);
        }else {
            service.update(addForm);
        }

        return ApiResponse.ok();
    }

    @DeleteMapping("/deleteData/{id}")
    public ApiResponse delete(@PathVariable Integer id){
        service.delete(id);
        return ApiResponse.ok();
    }
}

3.总结

本学期的理论知识我大多是通过参考资料书、配合课本以及线上教学视频来学习,在学习理论的同时我也做了大量的练习,以加深理解。本学期所有的实验我基本都是通过自己的理解和逻辑思路来完成,然后在配合教材加以优化。因为本人学的Java也不是很精,请大家观看博客时有什么不对请指教,写的不好多多担待!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值