Mybatis-Plus根據(jù)時(shí)間段去查詢(xún)數(shù)據(jù)的實(shí)現(xiàn)示例
業(yè)務(wù)需求:在前端界面選擇開(kāi)始時(shí)間、結(jié)束時(shí)間,后臺(tái)根據(jù)拿到的開(kāi)始、結(jié)束時(shí)間去數(shù)據(jù)庫(kù)中查詢(xún)?cè)摱螘r(shí)間的數(shù)據(jù)集返回給前端界面。
1、前端我使用的是elementUI和vue框架,最好是在前端界面進(jìn)行一個(gè)簡(jiǎn)單的校驗(yàn)規(guī)則,對(duì)比一下開(kāi)始時(shí)間和結(jié)束時(shí)間的大小,校驗(yàn)的代碼很簡(jiǎn)單,直接在觸發(fā)查詢(xún)按鈕的函數(shù)前面加入校驗(yàn)即可。代碼如下:
if(this.StafPsnClctDetlDFormQuery.startTime >= this.StafPsnClctDetlDFormQuery.endTime){ this.$message.info( '開(kāi)始時(shí)間不能大于結(jié)束,請(qǐng)重新輸選擇' ) }else{ //進(jìn)行查詢(xún)操作 )
2、這段代碼直接是serviceimpl中的實(shí)現(xiàn)類(lèi),使用的是分頁(yè)查詢(xún),具體的參數(shù)解釋如下,其中最重要的就是ge和le方法:
/** * 分頁(yè)查詢(xún)信息 * @param pageNumber 頁(yè)碼 * @param pageSize 每頁(yè)數(shù)量 * @param sort 正序/倒序 * @param order 排序字段-屬性名 * @param QueryDto 參數(shù) DTO 對(duì)象,直接將前端傳過(guò)來(lái)的數(shù)據(jù)封裝成一個(gè)對(duì)象,之后再到對(duì)象里面進(jìn)行取值 * @return 分頁(yè)對(duì)象 */ @Override public Map<String, Object> queryByDTOPage(int pageNumber, int pageSize, String sort, String order, QueryDto queryDto ) { //調(diào)用中臺(tái)或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官網(wǎng)中的解釋?zhuān)欢么蠹铱梢灾苯狱c(diǎn)擊鏈接去官網(wǎng)查看:Mybatis-Plus官網(wǎng)
到此,功能實(shí)現(xiàn)。
其實(shí)剛開(kāi)始寫(xiě)這個(gè)功能的時(shí)候沒(méi)想到實(shí)現(xiàn)起來(lái)這樣簡(jiǎn)單,查了網(wǎng)上許多教程都沒(méi)有思路,之后直接就去找到Mybatis-Plus官網(wǎng),看了API文檔,將數(shù)據(jù)傳進(jìn)去功能就實(shí)現(xiàn)了。
到此這篇關(guān)于Mybatis-Plus根據(jù)時(shí)間段去查詢(xún)數(shù)據(jù)的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)Mybatis-Plus 時(shí)間段查詢(xún)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用HttpSessionListener監(jiān)聽(tīng)器實(shí)戰(zhàn)
這篇文章主要介紹了使用HttpSessionListener監(jiān)聽(tīng)器實(shí)戰(zhàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03Java實(shí)踐練習(xí)輕松幾行實(shí)現(xiàn)追書(shū)神器
讀萬(wàn)卷書(shū)不如行萬(wàn)里路,只學(xué)書(shū)上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實(shí)戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用Java實(shí)現(xiàn)一個(gè)追書(shū)神器,用技術(shù)改變生活,大家可以在過(guò)程中查缺補(bǔ)漏,提升水平2021-10-10spring+springmvc+mybatis 開(kāi)發(fā)JAVA單體應(yīng)用
這篇文章主要介紹了spring+springmvc+mybatis 開(kāi)發(fā)JAVA單體應(yīng)用的相關(guān)知識(shí),本文通過(guò)圖文實(shí)例代碼的形式給大家介紹的非常詳細(xì) ,需要的朋友可以參考下2018-11-11詳解Java8合并兩個(gè)Map中元素的正確姿勢(shì)
這篇文章主要介紹了詳解Java8合并兩個(gè)Map中元素的正確姿勢(shì),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09Java面試之動(dòng)態(tài)規(guī)劃與組合數(shù)
這篇文章主要介紹了Java面試之動(dòng)態(tài)規(guī)劃與組合數(shù)的相關(guān)知識(shí),非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-09-09詳解如何利用jasypt實(shí)現(xiàn)配置文件加密
Jasypt?(Java?Simplified?Encryption)?是一個(gè)?java?庫(kù),它允許開(kāi)發(fā)人員以最小的成本將基本的加密功能添加到項(xiàng)目中,而無(wú)需深入了解密碼學(xué)的工作原理。本文將利用jasypt實(shí)現(xiàn)配置文件加密,感興趣的可以學(xué)習(xí)一下2022-07-07Java8中 LocalDate和java.sql.Date的相互轉(zhuǎn)換操作
這篇文章主要介紹了Java8中 LocalDate和java.sql.Date的相互轉(zhuǎn)換操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-12-12Java實(shí)戰(zhàn)之實(shí)現(xiàn)物流配送系統(tǒng)示例詳解
這篇文章主要介紹了一個(gè)java實(shí)戰(zhàn)項(xiàng)目:通過(guò)java、SSM、JSP、mysql和redis實(shí)現(xiàn)一個(gè)物流配送系統(tǒng)。文中的示例代碼非常詳細(xì),需要的朋友可以參考一下2021-12-12