《SpringBoot整合MybatisPlus实现增删改查功能》在这篇文章中,我们详细介绍了分页的具体实现方法。但是,在日常的开发中还需要搜索功能的。下面让我们一起动起手来,实现一下吧。
1.定义查询字段
定义一个类,存放需要用到的查询字段。如下:
package com.didiplus.modules.sys.domain.entity.dto;
import lombok.Data;
@Data
public class DictTypeRquest {
private String typeName;
private String typeCode;
private String enable;
}
2.修改分页函数接口
在分页函数接口中添加查询字段参数,如下:
public interface ISysDictTypeService extends IService<SysDictTypeEntity> {
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.修改控制层
在控制层添加查询参数,代码如下:
@ApiOperation(value = "分页查询", notes = "分页查询")
@GetMapping("/page")
public IPage<SysDictTypeEntity> getSysDictTypePage(PageDomain pageDomain, DictTypeRquest dictTypeRquest) {
return sysDictTypeService.page(pageDomain,dictTypeRquest);
}
5.效果体验
后台日志输出效果:
到此这篇关于详解MyBatisPlus如何实现分页和查询操作的文章就介绍到这了,更多相关MyBatisPlus分页 查询内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!