【mybatis-plus】分页、逻辑删除

 

1、配置分页插件
把分页的插件也配置到统一的配置类里:

@Configuration
// 配置扫描mapper的路径
@MapperScan("com.pingguo.mpdemo.mapper")
public class MpConfig {

// 乐观锁插件
@Bean
public OptimisticLockerInterceptor optimisticLockerInterceptor() {
    return new OptimisticLockerInterceptor();
}

// 分页插件
@Bean
public PaginationInterceptor paginationInterceptor() {
return new PaginationInterceptor();
}
}
2、使用分页
还是在测试类中增加测试方法,这里列了常用到的方法,后面配合前端页面做分页功能时候,都要用上。

//  测试分页
@Test
void testPaging() {
    // 创建分页对象,current为当前页数,size为每页最大记录数
    Page<User> pageUser = new Page<>(1, 5);

    // 调用分页查询方法,传入分页对象-pageUser,wrapper是构造条件对象,这里暂时写null
    userMapper.selectPage(pageUser, null);

    System.out.println("当前页:"+ pageUser.getCurrent());
    System.out.println("当前页数据list集合:" + pageUser.getRecords());
    System.out.println("每页显示记录数:" + pageUser.getSize());
    System.out.println("总记录数:" + pageUser.getTotal());
    System.out.println("总页数:" + pageUser.getPages());
    System.out.println("是否有下一页:" + pageUser.hasNext());
    System.out.println("是否有上一页:" + pageUser.hasPrevious());

}

目前数据表共12条数据,运行一下,对比下结果:

当前页:1
当前页数据list集合:[User(id=2, name=修改名称222, age=19, email=pingguotest1@pingguo.com, createTime=Thu Dec 24 23:27:20 CST 2020, updateTime=Thu Dec 24 23:27:23 CST 2020, version=null), User(id=3, name=wesson3, age=20, email=pingguotest1@pingguo.com, createTime=Wed Dec 23 23:27:32 CST 2020, updateTime=Thu Dec 24 23:27:36 CST 2020, version=null), User(id=4, name=daxiong, age=22, email=pingguotest1@pingguo.com, createTime=null, updateTime=Fri Dec 25 00:55:02 CST 2020, version=null), User(id=5, name=wesson5, age=20, email=pingguotest1@pingguo.com, createTime=null, updateTime=null, version=null), User(id=1342322873243996161, name=李白6, age=66, email=laowang@123.com, createTime=Fri Dec 25 12:14:47 CST 2020, updateTime=Fri Dec 25 15:43:11 CST 2020, version=2)]
每页显示记录数:5
总记录数:12
总页数:3
是否有下一页:true
是否有上一页:false

原文地址:https://www.cnblogs.com/xujing0808/p/14234710.html