[学习记录-MyBatisPlus]MyBatisPlus分页插件

13 篇文章 0 订阅
7 篇文章 0 订阅
本文详细介绍了如何在MyBatisPlus中配置分页插件,并通过一个示例展示了如何进行分页查询。配置在配置类中完成,通过添加PaginationInterceptor实例并设置计数SQL解析器实现。测试部分演示了如何创建Page对象,调用selectPage方法进行分页查询,并获取查询结果。
摘要由CSDN通过智能技术生成

MyBatisPlus分页插件

1 配置分页插件

在配置类中添加分页插件

package com.w.mpdemo.config;

import com.baomidou.mybatisplus.extension.plugins.OptimisticLockerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import com.baomidou.mybatisplus.extension.plugins.pagination.optimize.JsqlParserCountOptimize;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
@MapperScan("com.w.mpdemo.mapper")
public class MyBatisPlusConfig {

//    分页插件
    @Bean
    public PaginationInterceptor paginationInterceptor() {
        PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
        paginationInterceptor.setCountSqlParser(new JsqlParserCountOptimize(true));
        return paginationInterceptor;
    }
}

开始测试

    // 分页查询
    @Test
    public void testPage() {
        //1 创建page对象,传入两个参数- 当前页 和每页显示的 参数
        Page<User> page = new Page<>(1,2);
        // 调用mp分页查询方法
        // 调用mp分页查询过程,底层封装
        // 把分页所有数据封装到page对象里面
        userMapper.selectPage(page,null);

        System.out.println("当前第:"+page.getCurrent()+"页"); // 当前页

        for (User u:page.getRecords()) {
            System.out.println(u);
        }
//        System.out.println(page.getRecords()); // page.getRecords()每页数据list集合
        System.out.println("每页显示记录:"+page.getSize());    //每页显示记录
        System.out.println("总记录:"+page.getTotal());   //总记录数
        System.out.println("总页数:"+page.getPages());   //总数页数

        System.out.println("是否有下一页"+page.hasNext());  //是否有下一页
        System.out.println("是否有上一页"+page.hasPrevious());  //是否有上一页
    }

输出结果:

当前第:1页
User(id=1, name=admin, password=123, createTime=null, updateTime=null, version=null)
User(id=25, name=李四, password=123, createTime=null, updateTime=null, version=null)
每页显示记录:2
总记录:4
总页数:2
是否有下一页true
是否有上一页false
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值