MyBatisPlus实现分页和查询操作就这么简单

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

定义查询字段

定义一个类,存放需要用到的查询字段。如下:

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; } 

修改分页函数接口

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

public interface ISysDictTypeService extends IService<SysDictTypeEntity> {       /**     * 分页查询     * @param pageDomain      * @param dictTypeRquest     * @return     */     IPage<SysDictTypeEntity> page(PageDomain pageDomain, DictTypeRquest dictTypeRquest);  } 

修改分页实现方法

@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啦。

修改控制层

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

    /**      * 分页查询      * @param pageDomain 分页对象      * @param dictTypeRquest       * @return IPage      */     @ApiOperation(value = "分页查询", notes = "分页查询")     @GetMapping("/page")     public IPage<SysDictTypeEntity> getSysDictTypePage(PageDomain pageDomain, DictTypeRquest dictTypeRquest) {         return sysDictTypeService.page(pageDomain,dictTypeRquest);     } 

效果体验


后台日志输出效果:

商匡云商
Logo
注册新帐户
对比商品
  • 合计 (0)
对比
0
购物车