分页的几种写法 (除去自定义分页)

文章介绍了如何在Java项目中实现分页查询,包括使用pageHelper和MybatisPlus两种方式。在pageHelper中,通过添加依赖并调用startPage方法来实现。而在MybatisPlus中,配置拦截器并利用LambdaQueryWrapper构造查询条件,进行分页查询。此外,还提到了自定义SQL配合MybatisPlus的分页方法。
摘要由CSDN通过智能技术生成

pageHelp分页

导入依赖必须是这个依赖
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.3.1</version>
</dependency>
     if (pageSize != null && pageSize != null) {
            PageHelper.startPage(pageNo, pageSize);
        }
//查询语句
        List<Map<String, Object>> list = teamBuildingService.contactinformation(indexInstitution, regionCode);
        if (pageNo != null && pageSize != null) {
            PageInfo<Map<String, Object>> pageInfo = new PageInfo<>(list);
            return R.ok(pageInfo);
        }
        return R.ok(list);

   if (pageSize != null && pageSize != null) {
            PageHelper.startPage(pageNo, pageSize);
        }
//查询语句
        List<Map<String, Object>> list = teamBuildingService.contactinformation(indexInstitution, regionCode);
        if (pageNo != null && pageSize != null) {
            PageInfo<Map<String, Object>> pageInfo = new PageInfo<>(list);
            return R.ok(pageInfo);
        }
        return R.ok(list);

 mybaties 分页

package com.mjh.regie.config;

import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 *  配置Mp 分页
 */
@Configuration
public class MybatiesPlusConfig {


    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor(){
        MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor();
        mybatisPlusInterceptor.addInnerInterceptor(new PaginationInnerInterceptor());
        return mybatisPlusInterceptor;
    }

}
       //构建分页构造器
    Page pageInfo = new Page(page, pageSize);
       //条件构造器
       LambdaQueryWrapper<Employee> queryWrapper=new LambdaQueryWrapper();
        if (name!=null) {
            queryWrapper.like(Employee::getUsername,name);
        }
       //添加排序
       queryWrapper.orderByDesc(Employee::getUpdateTime);
   //分页
       return R.success( employService.page(pageInfo,queryWrapper));
  Page<NaturalReserve> page = new Page(
                Optional.ofNullable(pageNo).orElse(1),
                Optional.ofNullable(pageSize).orElse(5));

 LambdaQueryWrapper<NaturalReserve> queryWrapper = new LambdaQueryWrapper<>();

     //构建查询条件
        queryWrapper.in(NaturalReserve::getDistCode, childrenIds)
                .eq(NaturalReserve::getLevel, level)
                .like(StringUtils.hasText(name), NaturalReserve::getName, name)
                .orderByDesc(NaturalReserve::getName);
        Page<NaturalReserve> result = naturalReserveMapper.selectPage(page, queryWrapper);

//返回数据
     Map<String, Object> map = new HashMap<>();
        map.put("pageNo", result.getCurrent());
        map.put("pageSize", result.getSize());
        map.put("total", result.getTotal());
        map.put("data", result.getRecords());
        return map;

自定义sql 配合mybaitesplus 分页

   
//虽然传入的是map  但是底层 加入 的list<Map>所以还是会查出来多条数据
Page<Map<String, Object>> page = new Page(
                Optional.ofNullable(pageNo).orElse(1),
                Optional.ofNullable(pageSize).orElse(5));
  

//自己的sql 语句
        IPage<Map<String, Object>> list = naturalReserveMapper.pageList(page, regionCode, name, level);

//返回数据
        Map<String, Object> map = new HashMap<>();
        map.put("pageNo", list.getCurrent());
        map.put("pageSize", list.getSize());
        map.put("total", list.getTotal());
        map.put("data", list.getRecords());
        return  map;

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值