Java项目:11 Springboot的垃圾回收管理系统

作者主页:舒克日记

简介:Java领域优质创作者、Java项目、学习资料、技术互助

文中获取源码

项目介绍

  • 功能介绍

    • 本系统通过利用系统的垃圾回收流程,提高垃圾回收效率,通过垃圾回收的申请,增删改查,垃圾运输申请、垃圾状态查询、以及系统公告、个人信息更新等,实现了垃圾回收的科学管理。适合在学校的同学用作毕业设计。
    • 实现了登录、注册、垃圾回收管理(添加、编辑、删除、状态筛选)、垃圾去向运输申请、垃圾打包运输、系统公告、个人信息编辑。

环境要求

1.运行环境:最好是java jdk1.8,我们在这个平台上运行的。其他版本理论上也可以。

2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;

3.tomcat环境:Tomcat7.x,8.X,9.x版本均可

4.硬件环境:windows7/8/10 4G内存以上;或者Mac OS;

5.是否Maven项目:是;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven.项目

6.数据库:MySql5.7/8.0等版本均可;

技术栈

后台框架:Spring Boot、MyBatis

数据库:MySQL

环境:JDK8、TOMCAT、IDEA

使用说明

1.使用Navicati或者其它工具,在mysql中创建对应sq文件名称的数据库,并导入项目的sql文件;

2.使用IDEA/Eclipse/MyEclipse导入项目,修改配置,运行项目;

3.将项目中config-propertiesi配置文件中的数据库配置改为自己的配置,然后运行;

运行指导

idea导入源码空间站顶目教程说明(Vindows版)-ssm篇:

http://mtw.so/5MHvZq

源码看好后直接在网站付款下单即可,付款成功会自动弹出百度网盘链接,网站地址:http://codegym.top。

其它问题请关注公众号:IT小舟,关注后发送消息即可,都会给您回复的。若没有及时回复请耐心等待,通常当天会有回复

运行截图

界面

微信截图_20240119155717

微信截图_20240119155819

微信截图_20240119155825

微信截图_20240119155832

微信截图_20240119155838

微信截图_20240119155952

微信截图_20240119160001

微信截图_20240119155807

代码

GarbageController

package com.garbage.demo.controller;


import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.garbage.demo.common.Result;
import com.garbage.demo.entity.Garbage;
import com.garbage.demo.service.IGarbageService;
import com.garbage.demo.utils.StringConst;
import com.garbage.demo.vo.request.RequestDeleteVo;
import com.garbage.demo.vo.request.RequestGarbageAddVo;
import com.garbage.demo.vo.request.RequestGarbageListByTypeVo;
import com.garbage.demo.vo.request.RequestGarbageListVo;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

/**
 * <p>
 * 垃圾入库表 前端控制器
 * </p>
 *
 * @author lzf
 * @since 2020-10-15
 */
@RestController
@RequestMapping("/garbage")
public class GarbageController {

    @Autowired
    private IGarbageService garbageService;

    @PostMapping("/saveOrUpdate")
    public Result saveOrUpdate(@RequestBody RequestGarbageAddVo requestGarbageAddVo){
        String result;
        if(requestGarbageAddVo.getWeight()<0){
            return Result.getFailure().setMsg("重量输入错误!!");
        }
        if(ObjectUtils.isNotEmpty(requestGarbageAddVo.getId())){
            result = "修改";
        }else{
            result = "添加";
        }
        Garbage garbage = new Garbage();
        BeanUtils.copyProperties(requestGarbageAddVo,garbage);
        if(garbageService.saveOrUpdate(garbage)){
            return Result.getSuccess().setMsg(result + "成功!!!");
        }else{
            return Result.getFailure().setMsg(result + "失败!!!");
        }
    }


    @DeleteMapping("/deleteByIds")
    public Result delete(@RequestBody RequestDeleteVo requestDeleteVo){
        if(ObjectUtils.isNotEmpty(requestDeleteVo.getIntegerIds())){
            QueryWrapper<Garbage> garbageQueryWrapper = new QueryWrapper<>();

            garbageQueryWrapper.isNull("transport_id");
            garbageQueryWrapper.in("id",requestDeleteVo.getIntegerIds());

            garbageService.remove(garbageQueryWrapper);
            return Result.getSuccess().setMsg(StringConst.DELETE_SUCCESS);
        }
        return Result.getFailure().setMsg(StringConst.DELETE_ERROR);
    }


    @PostMapping("/list")
    public Result list(@RequestBody RequestGarbageListVo garbageListVo){
        IPage<Garbage> garbageIPage = garbageService.list(garbageListVo);
        return Result.getSuccess().setData(garbageIPage);
    }

    @GetMapping("/getById/{id}")
    public Result getById(@PathVariable Integer id){
        return Result.getSuccess().setData(garbageService.getById(id));
    }

    @PostMapping("/getByType")
    public Result getByType(@RequestBody RequestGarbageListByTypeVo garbageListByTypeVo){
        IPage<Garbage> garbageIPage = garbageService.getByType(garbageListByTypeVo);
        return Result.getSuccess().setData(garbageIPage);
    }

    @GetMapping("/getByTransportId/{transportId}")
    public Result getByTransportId(@PathVariable Integer transportId
            ,@RequestParam(value = "limit") Integer limit,@RequestParam(value = "page") Integer page){
        IPage<Garbage> garbageIPage = garbageService.getByTransportId(transportId,limit ,page);
        return Result.getSuccess().setData(garbageIPage);
    }


}

NoticeController

package com.garbage.demo.controller;


import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.garbage.demo.common.Result;
import com.garbage.demo.entity.Notice;
import com.garbage.demo.service.INoticeService;
import com.garbage.demo.utils.StringConst;
import com.garbage.demo.utils.VoUtilsTool;
import com.garbage.demo.vo.request.RequestDeleteVo;
import com.garbage.demo.vo.request.RequestNoticeListVo;
import com.garbage.demo.vo.request.RequestSaveOrUpdateNoticeVo;
import com.garbage.demo.vo.response.ResponseUserListVo;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

/**
 * <p>
 * 公告表 前端控制器
 * </p>
 *
 * @author lzf
 * @since 2020-10-15
 */
@RestController
@RequestMapping("/notice")
public class NoticeController {

    @Autowired
    INoticeService noticeService;

    @PostMapping("/saveOrUpdateNotice")
    public Result saveOrUpdateNotice(@RequestBody RequestSaveOrUpdateNoticeVo saveOrUpdateNoticeVo){
        if(ObjectUtils.isEmpty(saveOrUpdateNoticeVo.getTitle())){
            return Result.getFailure().setMsg(StringConst.NOTICE_IS_NULL);
        }
        String result = null;
        Notice notice;
        if(ObjectUtils.isEmpty(saveOrUpdateNoticeVo.getId())){
            notice = new Notice();
            BeanUtils.copyProperties(saveOrUpdateNoticeVo,notice);
            result = "添加";
        }else{
            notice = noticeService.getById(saveOrUpdateNoticeVo.getId());
            BeanUtils.copyProperties(saveOrUpdateNoticeVo,notice);
            result = "修改";
        }
        if(!noticeService.saveOrUpdate(notice)){
            return  Result.getFailure().setMsg(result +"失败了。");
        }
        return Result.getSuccess().setMsg(result + "成功啦!");
    }

    @DeleteMapping("/deleteByIds")
    public Result delete(@RequestBody RequestDeleteVo deleteVo){
        if(VoUtilsTool.checkObjFieldIsNull(deleteVo)){
            return Result.getFailure().setMsg(StringConst.DELETE_SELECT_ERROR);

        }
        if(noticeService.removeByIds(deleteVo.getIntegerIds())){
            return  Result.getSuccess().setMsg(StringConst.DELETE_SUCCESS);
        }else{
            return  Result.getFailure().setMsg(StringConst.DELETE_ERROR);
        }
    }

    @PostMapping("/list")
    public Result noticeList(@RequestBody RequestNoticeListVo noticeListVo){
        IPage<Notice> listVoIPage = noticeService.noticeList(noticeListVo);
        return Result.getSuccess().setData(listVoIPage);
    }

    @GetMapping("/getById/{id}")
    public Result getById( @PathVariable Integer id){
        return Result.getSuccess().setData(noticeService.getById(id));
    }

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/336621.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

TCP服务器最多支持多少客户端连接

目录 一、理论数值 二、实际部署 参考 一、理论数值 首先知道一个基础概念&#xff0c;对于一个 TCP 连接可以使用四元组&#xff08;src_ip, src_port, dst_ip, dst_port&#xff09;进行唯一标识。因为服务端 IP 和 Port 是固定的&#xff08;如下图中的bind阶段&#xff0…

Mysql运维篇(一) 日志类型

一路走来&#xff0c;所有遇到的人&#xff0c;帮助过我的、伤害过我的都是朋友&#xff0c;没有一个是敌人&#xff0c;如有侵权请留言&#xff0c;我及时删除。 一、mysql相关日志 首先&#xff0c;我们能接触到的&#xff0c;一般我们排查慢查询时&#xff0c;会去看慢查询…

关于java的方法重写

关于java的方法重写 我们之前在学习方法的时候&#xff0c;了解到了方法的重载&#xff0c;但是本篇文章我们要了解的是方法的重写&#xff0c;是不一样的&#xff0c;千万不能混淆在一起&#x1f600; 一、初识重写 1、首先我们建立一个新的包&#xff0c;然后新建一个A类&…

快速幂 算法

暴力算法 我们可以采用暴力算法 #include<bits/stdc.h> using namespace std; #define ll long long int main() {ll a, b, c;cin >> a >> b >> c;ll ans 1;for (ll i 1; i < b; i) {ans * a;}ans % c;cout << ans; } 不过这样肯定会超时…

torchtext安装及常见问题

Pytorch 、 torchtext和Python之间有严格的对应关系&#xff1a; 在命令窗中安装torchtext pip install torchtext 注意这种安装方式&#xff0c;在pytorch版本与python版本不兼容时动会自动更新并安装pytorchcpu版本&#xff0c;安装的新版本pytorch可能会不兼容。慎用。 …

Qt QCustomPlot 绘制子轴

抄大神杰作&#xff1a;QCustomplot&#xff08;五&#xff09;QCPAxisRect进行子绘图-CSDN博客 需求来源&#xff1a;试验数据需要多轴对比。 实现多Y轴、单X轴、X轴是时间轴、X轴range联动、rect之间的间距是0&#xff0c;每个图上有legend(这里有个疑问&#xff0c;每添加…

【⭐AI工具⭐】实用工具推荐

目录 壹 实用工具工具合集TinyWowHiPDF 公式处理SimpleTex公式中常用的希腊字母符号公式在论文中的格式 图像处理BgRemoverPix Fix像素蒸发Photopea 音频处理啦啦爱 笔记整理飞书妙记 素材整理Eagle 其它一次性临时电子邮件近邻词汇检索据意查句诗三百能不能好好说话&#xff1…

2023 年值得一读的技术文章 | NebulaGraph 技术社区

在之前的产品篇&#xff0c;我们了解到了 NebulaGraph 内核及周边工具在 2023 年经历了什么样的变化。伴随着这些特性的变更和上线&#xff0c;在【文章】博客分类中&#xff0c;一篇篇的博文记录下了这些功能背后的设计思考和研发实践。当中&#xff0c;既有对内存管理 Memory…

Python爬虫IP池

目录 一、介绍 1.1 为什么需要IP池&#xff1f; 1.2 IP池与代理池的区别 二、构建一个简单的IP池 三、注意事项 一、介绍 在网络爬虫的世界中&#xff0c;IP池是一个关键的概念。它允许爬虫程序在请求网页时使用多个IP地址&#xff0c;从而降低被封禁的风险&#xff0c;提高…

【大坑】MyBatisPlus使用updateById莫名将数据四舍五入了

问题描述 我目前在为本地的一所高中开发一个成绩分析的网站&#xff0c;后端使用的是SpringBootMyBatisPlus&#xff0c;业务逻辑是用户在前端上传EXCEL文件&#xff0c;后端从文件中读取成绩存到数据库用于分析。但是奇怪的是&#xff1a;在后端&#xff0c;进入数据库之前的…

DBA技术栈MongoDB: 索引和查询优化

2.1 批量插入数据 单条数据插入db.collection.insertOne()多条数据插入db.collection.insertMany() db.inventory.insertMany( [{ item: "journal", qty: 25, size: { h: 14, w: 21, uom: "cm" }, status: "A" },{ item: "notebook"…

【MATLAB源码-第119期】基于matlab的GMSK系统1bit差分解调误码率曲线仿真,输出各个节点的波形以及功率谱。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 GMSK&#xff08;高斯最小频移键控&#xff09;是一种数字调制技术&#xff0c;广泛应用于移动通信&#xff0c;例如GSM网络。它是一种连续相位调频制式&#xff0c;通过改变载波的相位来传输数据。GMSK的关键特点是其频谱的…

vue3通过ref调用子组件方法,第一次点击报找不到该方法,ref和v-if冲突

通过ref实现父子组件通信&#xff0c;但在第一次点击按钮的时候报找不到子组件的方法 原因&#xff1a;ref和v-if冲突,ref只有在组件渲染完成才注册引用信息&#xff0c;v-if首次为false没有把元素或子组件渲染&#xff0c;所以没有注册引用信息。 父组件 <uni-popup ref…

GO 中高效 int 转换 string 的方法与高性能源码剖析

文章目录 使用 strconv.Itoa使用 fmt.Sprintf使用 strconv.FormatIntFormatInt 深入剖析1. 快速路径处理小整数2. formatBits 函数的高效实现 结论 Go 语言 中&#xff0c;将整数&#xff08;int&#xff09;转换为字符串&#xff08;string&#xff09;是一项常见的操作。 本文…

Peter算法小课堂—拓扑排序与最小生成树

拓扑排序 讲拓扑排序前&#xff0c;我们要先了解什么是DAG树。所谓DAG树&#xff0c;就是指“有向无环图”。请判断下列图是否是DAG图 第一幅图&#xff0c;它不是DAG图&#xff0c;因为它形成了一个环。第二幅图&#xff0c;它也不是DAG图&#xff0c;因为它没有方向。第三幅…

汽车加油问题(贪心)

问题描述&#xff1a; 一辆汽车加满油后可行驶n 公里。旅途中有若干个加油站。设计一个有效算法&#xff0c;指出应在哪些加油站停靠加油&#xff0c;使沿途加油次数最少。并证明算法能产生一个最优解。 编程任务&#xff1a; 对于给定的n 和k 个加油站位置&#xff0c;编程计算…

Harmony Ble蓝牙App(四)描述符

Harmony Ble蓝牙App&#xff08;四&#xff09;描述符 前言正文一、优化二、描述① 概念② 描述提供者③ 显示描述符 三、源码 前言 上一篇中了解了特性和属性&#xff0c;同时显示设备蓝牙服务下的特性和属性&#xff0c;本文中就需要来使用这些特性和属性来完成一些功能。 正…

设计模式--组合模式

缘起 某日&#xff0c;小明公司最近接到一个办公管理系统的项目&#xff0c;并且在每个城市都有分部。这属于是很常见的OA系统&#xff0c;只要前期将需求分析完善好&#xff0c;中后期开发维护是不难的。 然而&#xff0c;总部公司使用后觉得很OK&#xff0c;想要其他城市的…

softmax回实战

1.数据集 MNIST数据集 (LeCun et al., 1998) 是图像分类中广泛使用的数据集之一&#xff0c;但作为基准数据集过于简单。 我们将使用类似但更复杂的Fashion-MNIST数据集 (Xiao et al., 2017)。 import torch import torchvision from torch.utils import data from torchvisi…

STM32标准库开发—软件I2C读取MPU6050

软件模拟I2C时序 初始化I2C引脚以及时钟 void MyI2C_Init(void) { RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);GPIO_InitTypeDef GPIO_InitStruct;GPIO_InitStruct.GPIO_ModeGPIO_Mode_Out_OD;GPIO_InitStruct.GPIO_PinGPIO_Pin_10|GPIO_Pin_11;GPIO_InitStruct.G…