Mybatis Plus 分页功能

配置MP的分页插件

固定格式

/**
 * 配置MP的分页插件
 */
@Configuration
public class MybatisPlusConfig {

    //添加插件
    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor(){
        MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor();
        mybatisPlusInterceptor.addInnerInterceptor(new PaginationInnerInterceptor());
        return mybatisPlusInterceptor;
    }
}

  

使用MP的分页功能

    /**
     * 员工信息分页查询
     * @param page
     * @param pageSize
     * @param name
     * @return
     */
    @GetMapping("/page")
    public R<Page> page(int page,int pageSize,String name){

        //构造分页构造器
        Page pageinfo = new Page(page,pageSize);
        //构造条件构造器
        LambdaQueryWrapper<Employee> queryWrapper = new LambdaQueryWrapper();
        queryWrapper.like(StringUtils.isNotEmpty(name),Employee::getUsername,name);
        queryWrapper.orderByDesc(Employee::getUpdateTime);
        //执行查询
        employeeService.page(pageinfo,queryWrapper);
        return R.success(pageinfo);
    }

  

前端使用get方法携带参数page,pageSize,name(可选)请求分页数据

首先new一个分页构造器,将page和pageSize传入,实际上是new一个Page类,里面有前端使用分页数据的统一属性。

接下来new一个条件构造器,主要是针对有name的情况下的查询。

queryWrapper.like有一个3参数的方法,参数1是condition,在满足参1的情况下,才会对参2和参3进行比较。

MP封装好的Service下的page方法,将page对象和查询条件传入,即可将查询到的数据返回至page对象。

再将page对象传至前端即可。

 

posted @ 2022-09-02 10:43  小超和你  阅读(330)  评论(0)    收藏  举报