詳解MyBatisPlus如何實(shí)現(xiàn)分頁和查詢操作
《SpringBoot整合MybatisPlus實(shí)現(xiàn)增刪改查功能》在這篇文章中,我們詳細(xì)介紹了分頁的具體實(shí)現(xiàn)方法。但是,在日常的開發(fā)中還需要搜索功能的。下面讓我們一起動起手來,實(shí)現(xiàn)一下吧。
1.定義查詢字段
定義一個類,存放需要用到的查詢字段。如下:
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.修改分頁函數(shù)接口
在分頁函數(shù)接口中添加查詢字段參數(shù),如下:
public interface ISysDictTypeService extends IService<SysDictTypeEntity> {
/**
* 分頁查詢
* @param pageDomain
* @param dictTypeRquest
* @return
*/
IPage<SysDictTypeEntity> page(PageDomain pageDomain, DictTypeRquest dictTypeRquest);
}3.修改分頁實(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ù)是否不為空,不為空才會把查詢條件拼接在一起,這樣就實(shí)現(xiàn)了動態(tài)SQL啦。
4.修改控制層
在控制層添加查詢參數(shù),代碼如下:
/**
* 分頁查詢
* @param pageDomain 分頁對象
* @param dictTypeRquest
* @return IPage
*/
@ApiOperation(value = "分頁查詢", notes = "分頁查詢")
@GetMapping("/page")
public IPage<SysDictTypeEntity> getSysDictTypePage(PageDomain pageDomain, DictTypeRquest dictTypeRquest) {
return sysDictTypeService.page(pageDomain,dictTypeRquest);
}5.效果體驗(yàn)

后臺日志輸出效果:

到此這篇關(guān)于詳解MyBatisPlus如何實(shí)現(xiàn)分頁和查詢操作的文章就介紹到這了,更多相關(guān)MyBatisPlus分頁 查詢內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
IntelliJ IDEA設(shè)置顯示內(nèi)存指示器和設(shè)置內(nèi)存大小的方法
這篇文章主要介紹了IntelliJ IDEA設(shè)置顯示內(nèi)存指示器和設(shè)置內(nèi)存大小的方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-04-04
JAVA使用hutool工具實(shí)現(xiàn)查詢樹結(jié)構(gòu)數(shù)據(jù)(省市區(qū))
今天通過本文給大家分享JAVA使用hutool工具實(shí)現(xiàn)查詢樹結(jié)構(gòu)數(shù)據(jù)(省市區(qū)),代碼分為表結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu),代碼簡單易懂,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2021-08-08
java實(shí)現(xiàn)多設(shè)備同時登錄或強(qiáng)制下線
本文主要介紹了java實(shí)現(xiàn)多設(shè)備同時登錄或強(qiáng)制下線,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07

