Mybatis-Plus根据时间段去查询数据

2023-11-18

业务需求:在前端界面选择开始时间、结束时间,后台根据拿到的开始、结束时间去数据库中查询该段时间的数据集返回给前端界面。
1、前端我使用的是elementUI和vue框架,最好是在前端界面进行一个简单的校验规则,对比一下开始时间和结束时间的大小,校验的代码很简单,直接在触发查询按钮的函数前面加入校验即可。代码如下:

if(this.StafPsnClctDetlDFormQuery.startTime >= this.StafPsnClctDetlDFormQuery.endTime){
          this.$message.info(
          '开始时间不能大于结束,请重新输选择'
          )
        }else{
          //进行查询操作
          )

在这里插入图片描述
2、这段代码直接是serviceimpl中的实现类,使用的是分页查询,具体的参数解释如下,其中最重要的就是ge和le方法:

/**
     * 分页查询信息
     * @param pageNumber 页码
     * @param pageSize 每页数量
     * @param sort 正序/倒序
     * @param order 排序字段-属性名
     * @param QueryDto 参数 DTO 对象,直接将前端传过来的数据封装成一个对象,之后再到对象里面进行取值
     * @return 分页对象
     */
    @Override
    public Map<String, Object> queryByDTOPage(int pageNumber, int pageSize, String sort, String order, QueryDto queryDto ) {
        //调用中台或DB
    	IQuery<QueryDto > page = QueryResult.of(pageNumber, pageSize, sort, order);
        IPage<QueryDto > da = dvIdxStafPsnClctDetlDDAO.selectPage(page,new QueryWrapper<QueryDto >()
            .and(ToolUtil.isNotEmpty(QueryDto .getIndexName()),wrapper -> wrapper.like("INDEX_NAME",QueryDto .getIndexName()))
            .and(ToolUtil.isNotEmpty(QueryDto .getStartTime()),wrapper -> wrapper.ge("START_TIME",QueryDto .getStartTime()))
            .and(ToolUtil.isNotEmpty(QueryDto .getEndTime()),wrapper -> wrapper.le("END_TIME",QueryDto .getEndTime()))
                .orderByAsc("START_TIME")
        );
    	List<QueryDto > list = QueryDtoAssembler.toQueryDtoList(da.getRecords());

    	Map<String,Object> rs = new HashMap<String, Object>();
    	rs.put("pageNumber", pageNumber);
    	rs.put("pageSize", pageSize);
    	rs.put("total", da.getTotal());
    	rs.put("result", list );
    	return rs;	    	
	}

下面是mybatis_plus官网中的解释,不懂得大家可以直接点击链接去官网查看:Mybatis-Plus官网
在这里插入图片描述
在这里插入图片描述
到此,功能实现。
其实刚开始写这个功能的时候没想到实现起来这样简单,查了网上许多教程都没有思路,之后直接就去找到Mybatis-Plus官网,看了API文档,将数据传进去功能就实现了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Mybatis-Plus根据时间段去查询数据 的相关文章

随机推荐

  • C# BackgroundWorker控件使用方法

    在C Winform开发中 若遇到大量数据操作或运算 通常UI界面卡死造成交互不良 解决方法 1 使用BackgroundWorker控件 2 使用多线程委托回调 本章先介绍该控件使用方法 界面展示 若没使用该控件 点击开始 进度条会滚动但
  • linux程序前后台切换

    1 怎么样使程序在后台执行 方法有很多 这里主要列举两种 假如我们有程序pso cpp 通过编译后产生可执行文件pso 我们要使pso在linux服务器后台执行 当客户端关机后重新登入服务器后继续查看本来在终端输出的运行结果 假设操作都在当
  • Python selenium —— selenium与自动化测试成神之路

    Python selenium selenium与自动化测试成神之路 忽然想谈谈自动化的学习路径 因为发现很多人总是急于求成 不懂该如何学习 在群里总是会遇到很多人问低级问题 写了一个selenium脚本 却执行失败 跑到群里来问 大神 这
  • 双指针模板

    核心思路 首先打一个 O n 2 O n 2 O n2 的暴力 然后考虑性质 当i j具有单调性的时候 那么我们才可以用双指针来优化 基础例题 最长连续不重复子
  • HTTPS加密流程

    HTTPS HTTPS 一 什么是HTTPS 二 什么是 加密 三 加密的方式有哪些 1 对称加密 2 非对称加密 3 中间人攻击 4 引入证书 HTTPS 一 什么是HTTPS HTTPS与HTTP一样都是应用层协议 与HTTPS不同的是
  • Javassist

    1 简介 Javassist JAVA programming ASSISTant 是在Java中编辑字节码的类库 它使Java程序能够在运行时定义一个新类 并在JVM加载是修改类文件 我们常用到的动态特性主要是反射 在运行时查找对象属性
  • 【华为OD统一考试B卷

    在线OJ 已购买本专栏用户 请私信博主开通账号 在线刷题 运行出现 Runtime Error 0Aborted 请忽略 华为OD统一考试A卷 B卷 新题库说明 2023年5月份 华为官方已经将的 2022 0223Q 1 2 3 4 统一
  • 谷贱伤农,薪贱伤码农!

    最近被东方甄选刷屏了 截止6月21日 粉丝已经达到1749万 飞瓜数据显示 东方甄选已经是抖音带货第一名 东方甄选火起来也就是从上周那个双语带货视频在各个社群里到处转发 走到今天 也不过才一周多点的时间 从初火到大火 东方甄选 一周封神 一
  • STM32内部ADC测量时产生噪声的原因与消除的方法

    首先让我们来看一张实际项目过程中 测试发现的问题 每隔1ms 就会起来一个信号 这个信号大概是250ns 我所使用的芯片是 STM32F103RCT6 使用内部ADC测量电压 采用定时器触发采样 每隔1ms触发采样一次 经过分析初步分析 是
  • Web前端学习(二)HTML和CSS的关系

    此节 应该上手写第一个Web网页Hello World 这在之前学习HTML基础的时候已经写过了 这里不多说 本节 主要看一下HTML和CSS之间是怎么协同工作的 话不多说直接上代码 例 为Hello World添加样式
  • Eigen几何模块的使用方法

    include
  • Win11 配置 WSL2(Windows的Linux子系统)100%成功 全网最简

    打开控制面板 程序 启用或关闭 Windows 功能 勾选 Windows 虚拟机监控程序平台 适用于 Linux 的 Windows 子系统 虚拟机平台三个选项 检查是否开启BIOS虚拟化功能 任务管理器 性能 CPU 虚拟化 禁用 已启
  • Blender-骨骼蒙皮权重基本设置,批量修改权重清零,权重的镜像对称

    问题1 权重批量删除 批量清零 解决方法 1 选择物体 进入权重绘制 2 点绘制遮罩的小方块模式 3 选择 全选或者按鼠标 L局部元素选择 4 权重设置参数为0 并点权重 设置权重 OK 全都清零了 案例 和其他角色动画的眼珠自转不同 门保
  • python中object转为float_object怎么转换成float数据

    这次给大家带来object怎么转换成float数据 object转换成float数据的注意事项有哪些 下面就是实战案例 一起来看一下 数据类型转换 今天遇到一个问题 就是DataFrame类型的数据里是str型的数字 想把数字转换为int
  • 【8558】编写算法建立的链表,实现将其分解成两个链表,其中一个全部为奇数,另一个全部为偶数(尽量利用已知存储空间)

    关注公众号程序猿从入门到入土查询更方便哦 编写算法建立的链表 实现将其分解成两个链表 其中一个全部为奇数 另一个全部为偶数 尽量利用已知存储空间 include
  • MPEG P帧编码详解

    1 当前帧与预测的当前帧相减 得到预测误差 2 预测误差进行DCT ZZ 量化 3 使用可变长编码编码预测误差并送出 3 与此同时 量化后的误差经过反量化 反zigzag 反DCT 重建误差 4 当前帧的预测误差和预测的当前帧相加 重建当前
  • Java使用多线程导入数据到Oracle中

    Oracle中的设置 多线程导入数据到Oracle中 如果是自己设置主键的值 那么肯定会遇到主键冲突的问题 例如线程A计算出的id为10 max id 1 在A线程还没有完成导入时线程B用相同办法得到的id也是10 这时两个线程都请求插入数
  • 父容器display:flex后,子元素的内部元素height:100%无效解决方法

    父容器display flex后 子元素的内部元素height 100 无效解决方法 解救办法 父类容器position relative 子元素 position absolute width 100 height 100 效果图 代码如
  • 直接进入Win10的Linux子系统文件夹

    在文件夹的路径输入 wsl 可以看到
  • Mybatis-Plus根据时间段去查询数据

    业务需求 在前端界面选择开始时间 结束时间 后台根据拿到的开始 结束时间去数据库中查询该段时间的数据集返回给前端界面 1 前端我使用的是elementUI和vue框架 最好是在前端界面进行一个简单的校验规则 对比一下开始时间和结束时间的大小