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文檔,將數據傳進去功能就實現瞭。
到此這篇關於Mybatis-Plus根據時間段去查詢數據的實現示例的文章就介紹到這瞭,更多相關Mybatis-Plus 時間段查詢內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- None Found