MyBatisPlus 自带分页插件,只要简单的配置即可实现分页功能:
数据库中表的数据:
1、添加分页插件
package cn.henu.config;
import com.baomidou.mybatisplus.extension.plugins.OptimisticLockerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration//表示将这个类作为配置类
//@MapperScan("cn.henu.mapper"):在启动时扫描Mapper接口,找到里面的内容
@MapperScan("cn.henu.mapper")
public class MpConfig {
//乐观锁插件
@Bean
public OptimisticLockerInterceptor optimisticLockerInterceptor() {
return new OptimisticLockerInterceptor();
}
//分页插件
@Bean
public PaginationInterceptor paginationInterceptor() {
return new PaginationInterceptor();
}
}
2、测试分页(最终通过page对象获取相关数据)
//分页查询
@Test
void testPage(){
//1、创建page对象
//传入两个参数:当前页 和 每页显示的记录数
Page<User> page = new Page<>(1,3);
//调用mp分页查询的方法
//在调用mp分页查询过程中,底层将分页所有数据封装到page对象里面
userMapper.selectPage(page,null);
//通过page对象获取分页数据
System.out.println("当前页码:" + page.getCurrent());//获取当前页
System.out.println("数据的list集合:" + 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());//是否有上一页
}
3、运行,在控制台查看结果: