业务需求:在前端界面选择开始时间、结束时间,后台根据拿到的开始、结束时间去数据库中查询该段时间的数据集返回给前端界面。
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 分页对象*/@Overridepublic Map<String, Object> queryByDTOPage(int pageNumber, int pageSize, String sort, String order, QueryDto queryDto ) {//调用中台或DBIQuery<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文档,将数据传进去功能就实现了。

Mybatis-Plus根据时间段去查询数据相关推荐

  1. mybatis根据id、idList查询数据

    1.根据id查询: mapper.xml中的sql语句如下: <select id="getTestById" resultType="com.abc.Test&q ...

  2. mybatis直接使用自定义sql查询数据

    2019独角兽企业重金招聘Python工程师标准>>> dao层,增加SqlMapper.java和 对应的SQLMapper.xml package rg.contacts.map ...

  3. 2020-09-10 MYSQL按时间段分组查询当天,每小时,15分钟数据分组

    查询的需求比较麻烦,根据spreader_id和返回的状态码来判断事件的回传成功率,但是还需要新增时间段的查询,比如产品要的是每15分钟内数据的回传成功率. 这样的话就需要对时间段进行分组查询,我保存 ...

  4. android用于查询数据的方法,android: SQLite查询数据

    掌握了查询数据的方法之后,你也就将数据库的 CRUD 操 作全部学完了.不过千万不要因此而放松,因为查询数据也是在 CRUD 中最复杂的一种 操作. 我们都知道 SQL 的全称是 Structured ...

  5. MyBatis中使用流式查询避免数据量过大导致OOM

    欢迎关注方志朋的博客,回复"666"获面试宝典 今天mybatis查询数据库中大量的数据,程序抛出: java.lang.OutOfMemoryError: Java heap s ...

  6. mybatis plus按时间段查询_你应该知道的这些Mybatis-Plus使用技巧(小结)

    最近在用 Mybatis-Plus,嗯,真香!!!今天就来说说 Mybatis-Plus 的那些使用技巧 1.条件查询(QueryWrapper) 如果说,我们需要查询的 SQL 语句如下: SELE ...

  7. oracle 查的数据去重复数据,Oracle查询和过滤重复数据

    对数据库某些意外情况,引起的重复数据,如何处理呢? ----------------查重复: select * from satisfaction_survey s where s.as_side = ...

  8. 关于mybatis中的时间段查询

    ** 关于mybatis中的时间段查询 在最近的开发中使用比较频繁的一个点,咱就是说浅浅的记录一下!! 相信大家对于mybatis框架并不陌生,我使用它在开发过程中需要对一个时间段进行查询,前端设置的 ...

  9. Mybatis连3表查询数据resultMap结果映射

    Mybatis连结3表查询数据resultMap结果映射 一.前言 Mybatis实现了sql与java代码的分离,达到了解耦合的目的,配置sql语句时有个resultType="" ...

最新文章

  1. [文档].JLINK挂了怎么办?自己修![转载].JLINK_V8固件烧录和固件升级指导.pdf
  2. 迈克菲实验室:仅42%的网络安全专业人士使用共享威胁情报
  3. java原型链_深入总结Javascript原型及原型链
  4. [设计模式]装饰模式
  5. TCP和UDP Socket
  6. (10)机器学习_K邻近算法
  7. Java实现简单工厂模式
  8. 计算机专业学习目标计划怎么写,制定计算机学习计划范文3篇
  9. STM32 热敏电阻测量温度
  10. 两个数组合成一个json对象_js把两个json数组根据相同键值合并成一个数组
  11. 3.10编写程序,计算并输出0到1000含有七或者7倍数的整数之和和及个数
  12. android版会说话的汤姆猫游戏源码
  13. 电子邮件注册网站哪个好:四大邮箱客户端的对比
  14. 新型光引发剂365nm和395nm紫外吸收图谱
  15. 构之以技术,付之以匠心——读《构建之法》有感
  16. 美团饿了么外卖CPS项目怎么做?简单推广每天躺赚(附源码和搭建教程)
  17. 计算机部分应用显示模糊,电脑显示器局部模糊怎么办
  18. 社交视频Socialcam独领风骚:躺在Facebook的温床上借力YouTube?
  19. 用Java计算圆周率的十亿位_新世界纪录:谷歌将圆周率计算到 31 万亿位
  20. python中两个除号连用是什么意思啊_【人人都是Pythoner】——python3中“变革”了的除号...

热门文章

  1. 文本换行符/空格符怎么在HTML中进行转换?
  2. c语言批量重命图片,图片文件批量重命名的3种方法
  3. “智慧新电商”全渠道获客+智能服务接待
  4. ORACLE的递归查询
  5. 零基础想要快速的学好3D游戏建模,兼职接单私活,来看业内人士的分析
  6. B/S模式实现批量打包apk
  7. 公务员面试题:领导干部直播带货,你怎么看?
  8. “肆拾玖坊号”高铁冠名列车今日正式首发
  9. php 多核cpu,如何利用多核CPU来加速你的Linux命令
  10. Android 图片设置坐标点