定义查询字段《SpringBoot整合MybatisPlus基本的增删改查,保姆级教程》在这篇文章中,我们详细介绍了分页的具体实现方法。但是,在日常的开发中还需要搜索功能的。下面让我们一起动起手来,实现一下吧。
定义一个类,存放需要用到的查询字段。如下:
package com.didiplus.modules.sys.domain.entity.dto;
import lombok.Data;
@Data
public class DictTypeRquest {
private String typeName;
private String typeCode;
private String enable;
}
修改分页函数接口
在分页函数接口中添加查询字段参数,如下:
public interface ISysDictTypeService extends IService修改分页实现方法{ IPage page(PageDomain pageDomain, DictTypeRquest dictTypeRquest); }
@Service public class SysDictTypeServiceImpl extends ServiceImplimplements ISysDictTypeService { @Resource SysDictTypeMapper sysDictTypeMapper; @Override public IPage page(PageDomain pageDomain, DictTypeRquest dictTypeRquest) { IPage page = new Page<>(pageDomain.getPage(),pageDomain.getLimit()); LambdaQueryWrapper 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啦。
在控制层添加查询参数,代码如下:
@ApiOperation(value = "分页查询", notes = "分页查询")
@GetMapping("/page")
public IPage getSysDictTypePage(PageDomain pageDomain, DictTypeRquest dictTypeRquest) {
return sysDictTypeService.page(pageDomain,dictTypeRquest);
}
效果体验
后台日志输出效果:



