详解MyBatisPlus如何实现分页和查询操作

 更新时间:2022年05月09日 15:37:44   作者:北根娃  
这篇文章主要为大家详细介绍了MyBatisPlus是如何实现分页和查询操作的,文中的示例代码讲解详细,对我们学习有一定的帮助,需要的可以参考一下

SpringBoot整合MybatisPlus实现增删改查功能》在这篇文章中,我们详细介绍了分页的具体实现方法。但是,在日常的开发中还需要搜索功能的。下面让我们一起动起手来,实现一下吧。

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.修改分页函数接口

在分页函数接口中添加查询字段参数,如下:

public interface ISysDictTypeService extends IService<SysDictTypeEntity> {


    /**
    * 分页查询
    * @param pageDomain
     * @param dictTypeRquest
    * @return
    */
    IPage<SysDictTypeEntity> page(PageDomain pageDomain, DictTypeRquest dictTypeRquest);

}

3.修改分页实现方法

@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是先判断查询参数是否不为空,不为空才会把查询条件拼接在一起,这样就实现了动态SQL啦。

4.修改控制层

在控制层添加查询参数,代码如下:

    /**
     * 分页查询
     * @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.效果体验

后台日志输出效果:

到此这篇关于详解MyBatisPlus如何实现分页和查询操作的文章就介绍到这了,更多相关MyBatisPlus分页 查询内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java开发环境配置方法

    Java开发环境配置方法

    这篇文章主要介绍了并不是每一台计算机都可以运行Java程序,要运行Java程序,计算机必须学习搭建Java开发环境,需要的朋友可以参考下
    2015-07-07
  • Java中 shuffle 算法的使用

    Java中 shuffle 算法的使用

    本篇文章,小编将为大家介绍,在Java中 shuffle 算法的使用,有需要的朋友可以参考一下
    2013-04-04
  • SpringBoot整合Spring Boot Admin实现服务监控的方法

    SpringBoot整合Spring Boot Admin实现服务监控的方法

    这篇文章主要介绍了SpringBoot整合Spring Boot Admin实现服务监控,内容包括Server端服务开发,Client端服务开发其中Spring Boot Admin还可以对其监控的服务提供告警功能,如服务宕机时,可以及时以邮件方式通知运维人员,感兴趣的朋友跟随小编一起看看吧
    2022-03-03
  • Java序列化框架Kryo高效转换对象为字节流面试精讲

    Java序列化框架Kryo高效转换对象为字节流面试精讲

    这篇文章主要为大家介绍了Java序列化框架Kryo高效转换对象为字节流面试精讲,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10
  • 详解如何给SpringBoot部署的jar包瘦身

    详解如何给SpringBoot部署的jar包瘦身

    这篇文章主要介绍了如何给SpringBoot部署的jar包瘦身,如今迭代发布是常有的事情,每次都上传一个如此庞大的文件,会浪费很多时间,接下来小编就以一个小项目为例,来演示如何给jar包瘦身,需要的朋友可以参考下
    2023-07-07
  • Spring 跨域配置请求详解

    Spring 跨域配置请求详解

    这篇文章主要介绍了Spring 跨域配置请求详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-01-01
  • Java如何基于EasyExcel实现导入数据校验并生成错误信息Excel

    Java如何基于EasyExcel实现导入数据校验并生成错误信息Excel

    这篇文章主要介绍了Java如何基于EasyExcel实现导入数据校验并生成错误信息Excel,为了优化项目中的文件导入功能,考虑构建一个基于EasyExcel的通用Excel导入框架,主要解决导入数据的校验问题,避免业务代码中堆积大量校验逻辑,需要的朋友可以参考下
    2024-09-09
  • Java实现冒泡排序算法及对其的简单优化示例

    Java实现冒泡排序算法及对其的简单优化示例

    这篇文章主要介绍了Java实现冒泡排序算法及对其的简单优化示例,冒泡排序的最差时间复杂度为O(n^2),最优时间复杂度为O(n),存在优化的余地,需要的朋友可以参考下
    2016-05-05
  • rocketmq如何修改存储路径

    rocketmq如何修改存储路径

    这篇文章主要介绍了rocketmq如何修改存储路径的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • SpringBoot整合RestTemplate用法的实现

    SpringBoot整合RestTemplate用法的实现

    本篇主要介绍了RestTemplate中的GET,POST,PUT,DELETE、文件上传和文件下载6大常用的功能,具有一定的参考价值,感兴趣的可以了解一下
    2023-08-08

最新评论