按照排序字段查询所有
指定泛型
list(Wrappers.<WmChannel>lambdaQuery().orderByDesc(WmChannel::getOrd))
//根据name模糊查询 再按照ord字段排序
list(Wrappers.<WmChannel>lambdaQuery().like(WmChannel::getName,wmChannelDto.getName()).orderByDesc(WmChannel::getOrd))
mybatis plus 中分页查询
new Page 是baomidou的 里面的参数类型是Long
Page<WmSensitive> page = new Page<>(wmPageDto.getPage(), wmPageDto.getSize());
LambdaQueryWrapper<WmSensitive> wrapper = new LambdaQueryWrapper<>();
if (wmPageDto.getName()!=""){
// 按关键字模糊查询
wrapper.like(WmSensitive::getSensitives,wmPageDto.getName()).orderByDesc(WmSensitive::getCreatedTime);
Page<WmSensitive> page1 = page(page, wrapper);
return ResponseResult.okResult(page1.getRecords());
}else {
// 没有关键字查询所有
wrapper.orderByDesc(WmSensitive::getCreatedTime);
// page是业务层的page,在控制器层写分页的话需要 业务层.page ()中的page是
Page<WmSensitive> page 这个page
page = page(page, wrapper);
return ResponseResult.okResult(page.getRecords());
}
这是业务层本身的page
mp分页查询必须安装分页插件
@Configuration
public class MybatisConfig {
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
// 初始化核心插件
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
// 添加分页插件
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
return interceptor;
}
}
云岚到家中mybatis plus分页查询样例,每个公司都有自己独特的写法,我们模仿就可以,这个是云岚到家项目自己的实现方法
第一种方式:这种是使用mybatis plus自带的查询进行分页的,
public PageResult<ServeTypeResDTO> page(ServeTypePageQueryReqDTO serveTypePageQueryReqDTO) {
Page<ServeType> page = PageUtils.parsePageQuery(serveTypePageQueryReqDTO, ServeType.class);
Page<ServeType> serveTypePage = baseMapper.selectPage(page, new QueryWrapper<>());
return PageUtils.toPage(serveTypePage, ServeTypeResDTO.class);
}
第二中方式,这种是使用自己写的sql来 进行分页的
这个queryList是自己写的,然后里面传递的是自己的参数
public PageResult<ServeItemResDTO> page(ServeItemPageQueryReqDTO serveItemPageQueryReqDTO) {
return PageHelperUtils.selectPage(serveItemPageQueryReqDTO,
() -> baseMapper.queryList(serveItemPageQueryReqDTO.getServeTypeId(), serveItemPageQueryReqDTO.getName(), serveItemPageQueryReqDTO.getActiveStatus()));
}