条件分页查询的实现步骤

条件分页查询的实现步骤

1 编写MybatisPlus中提供的分页插件,在配置类中声明分页插件的bean对象

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;



分页插件自动实现:1.计算基于当前条件,一共有多少条记录  2.通过limit来获取当前页的数据
   
   @Configuration
   public class MybatisPlusConfig {

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

2 在表现层Controller类中编写分页查询page方法,将查询数据封装到Page对象中

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
       条件模糊分页查询的方法(参数为:当前页,页大小,名字的部分)     
       例如:   参数=?page=1&pageSize=10&name=@GetMapping("/page")
    public R<Page> page(int page,int pageSize ,String name){
        // 创建page查询对象,把当前页码和每页显示条数封装进去
        Page<Employee> pageInfo = new Page<>(page,pageSize);

        // 构建条件查询对象
        LambdaQueryWrapper<Employee> wrapper = new LambdaQueryWrapper<>();
       
         // 判断name是否为空,不为空,往查询对象中加入条件
         wrapper.like(StringUtils.isNotEmpty(name),Employee::getName,name);
       
       //  根据分页基本条件和条件查询内容进行分页查询
       //  把查询出来的总记录数,每页显示的数据封装到pageInfo中
       // page方法执行完毕之后,pageInfo中就有总记录数和当前页数据了
           employeeService.page(pageInfo,wrapper);// 执行两个sql
          
        //把分页对象封装到R里面进行返回,响应.
         return R.success(pageInfo);
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值