詳解MyBatisPlus如何實(shí)現(xiàn)分頁(yè)和查詢操作
《SpringBoot整合MybatisPlus實(shí)現(xiàn)增刪改查功能》在這篇文章中,我們?cè)敿?xì)介紹了分頁(yè)的具體實(shí)現(xiàn)方法。但是,在日常的開發(fā)中還需要搜索功能的。下面讓我們一起動(dòng)起手來,實(shí)現(xiàn)一下吧。
1.定義查詢字段
定義一個(gè)類,存放需要用到的查詢字段。如下:
package com.didiplus.modules.sys.domain.entity.dto; import lombok.Data; /** * Author: didiplus * Email: 972479352@qq.com * CreateTime: 2022/5/7 * Desc: 檢索字段 */ @Data public class DictTypeRquest { /** * 字段名稱 */ private String typeName; /** * 字段編碼 */ private String typeCode; /** * 是否啟用 */ private String enable; }
2.修改分頁(yè)函數(shù)接口
在分頁(yè)函數(shù)接口中添加查詢字段參數(shù),如下:
public interface ISysDictTypeService extends IService<SysDictTypeEntity> { /** * 分頁(yè)查詢 * @param pageDomain * @param dictTypeRquest * @return */ IPage<SysDictTypeEntity> page(PageDomain pageDomain, DictTypeRquest dictTypeRquest); }
3.修改分頁(yè)實(shí)現(xiàn)方法
@Service public class SysDictTypeServiceImpl extends ServiceImpl<SysDictTypeMapper, SysDictTypeEntity> implements ISysDictTypeService { @Resource SysDictTypeMapper sysDictTypeMapper; @Override public IPage<SysDictTypeEntity> page(PageDomain pageDomain, DictTypeRquest dictTypeRquest) { IPage<SysDictTypeEntity> page = new Page<>(pageDomain.getPage(),pageDomain.getLimit()); LambdaQueryWrapper<SysDictTypeEntity> lambdaQueryWrapper = new LambdaQueryWrapper<>(); lambdaQueryWrapper.like(StrUtil.isNotEmpty(dictTypeRquest.getTypeName()),SysDictTypeEntity::getTypeName,dictTypeRquest.getTypeName()) .like(StrUtil.isNotEmpty(dictTypeRquest.getTypeCode()),SysDictTypeEntity::getTypeCode,dictTypeRquest.getTypeCode()) .eq(StrUtil.isNotEmpty(dictTypeRquest.getEnable()),SysDictTypeEntity::getEnable,dictTypeRquest.getEnable()); return sysDictTypeMapper.selectPage(page,lambdaQueryWrapper); } }
StrUtil.isNotEmpty是先判斷查詢參數(shù)是否不為空,不為空才會(huì)把查詢條件拼接在一起,這樣就實(shí)現(xiàn)了動(dòng)態(tài)SQL啦。
4.修改控制層
在控制層添加查詢參數(shù),代碼如下:
/** * 分頁(yè)查詢 * @param pageDomain 分頁(yè)對(duì)象 * @param dictTypeRquest * @return IPage */ @ApiOperation(value = "分頁(yè)查詢", notes = "分頁(yè)查詢") @GetMapping("/page") public IPage<SysDictTypeEntity> getSysDictTypePage(PageDomain pageDomain, DictTypeRquest dictTypeRquest) { return sysDictTypeService.page(pageDomain,dictTypeRquest); }
5.效果體驗(yàn)
后臺(tái)日志輸出效果:
到此這篇關(guān)于詳解MyBatisPlus如何實(shí)現(xiàn)分頁(yè)和查詢操作的文章就介紹到這了,更多相關(guān)MyBatisPlus分頁(yè) 查詢內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot整合Shiro框架,實(shí)現(xiàn)用戶權(quán)限管理
Apache Shiro是一個(gè)強(qiáng)大且易用的Java安全框架,執(zhí)行身份驗(yàn)證、授權(quán)、密碼和會(huì)話管理。作為一款安全框架Shiro的設(shè)計(jì)相當(dāng)巧妙。Shiro的應(yīng)用不依賴任何容器,它不僅可以在JavaEE下使用,還可以應(yīng)用在JavaSE環(huán)境中。2021-06-06解決idea出現(xiàn)的java.lang.OutOfMemoryError:?Java?heap?space的問題
我們?cè)谑褂胕dea的時(shí)候經(jīng)常會(huì)遇到一些問題,本文介紹了如何解決idea出現(xiàn)的java.lang.OutOfMemoryError:?Java?heap?space的問題,文中有相關(guān)的圖文示例,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06Java讀取文件的簡(jiǎn)單實(shí)現(xiàn)方法
這篇文章主要介紹了Java讀取文件的簡(jiǎn)單實(shí)現(xiàn)方法,通過一個(gè)讀取txt格式的log文件為例,詳細(xì)的講述了Java讀取文件的方法及原理,需要的朋友可以參考下2014-09-09聽說用了YYYY-MM-dd的程序員,前些天都在加班改Bug
這篇文章主要介紹了YYYY-MM-dd的實(shí)用方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01解決SpringMVC、tomcat、Intellij idea、ajax中文亂碼問題
這篇文章主要介紹了解決SpringMVC、tomcat、Intellij idea、ajax中文亂碼問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-09-09Springboot項(xiàng)目中單元測(cè)試時(shí)注入bean失敗的解決方案
這篇文章主要介紹了Springboot項(xiàng)目中單元測(cè)試時(shí)注入bean失敗的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11MyBatis中的循環(huán)插入insert foreach問題
這篇文章主要介紹了MyBatis中的循環(huán)插入insert foreach問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11mybatis簡(jiǎn)介與配置_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要介紹了mybatis簡(jiǎn)介與配置,介紹了MyBatis+Spring+MySql簡(jiǎn)單配置,有興趣的可以了解一下2017-09-09