Mybatis-Plus 时间段查询 Mybatis-Plus根据时间段去查询数据的实现示例
, 。 � 人气:0想了解Mybatis-Plus根据时间段去查询数据的实现示例的相关内容吗,, 。 �在本文为您仔细讲解Mybatis-Plus 时间段查询的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:Mybatis-Plus,时间段查询,Mybatis-Plus,时间查询,下面大家一起来学习吧。
业务需求:在前端界面选择开始时间、结束时间,后台根据拿到的开始、结束时间去数据库中查询该段时间的数据集返回给前端界面。
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文档,将数据传进去功能就实现了。
加载全部内容