詳解MyBatisPlus如何實(shí)現(xiàn)分頁(yè)和查詢操作
《SpringBoot整合MybatisPlus實(shí)現(xiàn)增刪改查功能》在這篇文章中,我們?cè)敿?xì)介紹了分頁(yè)的具體實(shí)現(xiàn)方法。但是,在日常的開(kāi)發(fā)中還需要搜索功能的。下面讓我們一起動(dòng)起手來(lái),實(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)文章希望大家以后多多支持腳本之家!
- springboot中使用mybatisplus自帶插件實(shí)現(xiàn)分頁(yè)的示例代碼
- 完美解決MybatisPlus插件分頁(yè)查詢不起作用總是查詢?nèi)繑?shù)據(jù)問(wèn)題
- MybatisPlus分頁(yè)排序查詢字段帶有下劃線的坑及解決
- mybatisplus解除分頁(yè)限制的實(shí)現(xiàn)
- 詳解MybatisPlus3.4版本之后分頁(yè)插件的使用
- MyBatisPlus分頁(yè)時(shí)排序的實(shí)現(xiàn)
- MybatisPlus實(shí)現(xiàn)分頁(yè)查詢和動(dòng)態(tài)SQL查詢的示例代碼
- MyBatis-Plus 分頁(yè)插件使用示例
相關(guān)文章
IntelliJ IDEA設(shè)置顯示內(nèi)存指示器和設(shè)置內(nèi)存大小的方法
這篇文章主要介紹了IntelliJ IDEA設(shè)置顯示內(nèi)存指示器和設(shè)置內(nèi)存大小的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04
Spring實(shí)例化bean過(guò)程解析及完整代碼示例
這篇文章主要介紹了Spring實(shí)例化bean過(guò)程解析及完整代碼示例,簡(jiǎn)單分析實(shí)例化bean過(guò)程并且分享了相關(guān)實(shí)例,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01
JAVA使用hutool工具實(shí)現(xiàn)查詢樹(shù)結(jié)構(gòu)數(shù)據(jù)(省市區(qū))
今天通過(guò)本文給大家分享JAVA使用hutool工具實(shí)現(xiàn)查詢樹(shù)結(jié)構(gòu)數(shù)據(jù)(省市區(qū)),代碼分為表結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu),代碼簡(jiǎn)單易懂,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2021-08-08
Spring事務(wù)的本質(zhì)就是對(duì)數(shù)據(jù)庫(kù)事務(wù)的支持,沒(méi)有數(shù)據(jù)庫(kù)事務(wù),Spring是無(wú)法提供事務(wù)功能的。Spring只提供統(tǒng)一的事務(wù)管理接口,具體實(shí)現(xiàn)都是由數(shù)據(jù)庫(kù)自己實(shí)現(xiàn)的,Spring會(huì)在事務(wù)開(kāi)始時(shí),根據(jù)當(dāng)前設(shè)置的隔離級(jí)別,調(diào)整數(shù)據(jù)庫(kù)的隔離級(jí)別,由此保持一致2022-04-04
java實(shí)現(xiàn)多設(shè)備同時(shí)登錄或強(qiáng)制下線
本文主要介紹了java實(shí)現(xiàn)多設(shè)備同時(shí)登錄或強(qiáng)制下線,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07

