Mybatis(八)-分页插件

7 篇文章 0 订阅

目录

分页插件的使用


limit index,pageSize
pageSize:每页显示的条数
pageNum:当前页的页码
index:当前页的起始索引,index=(pageNum-1)*pageSize
count:总记录数
totalPage:总页数
totalPage = count / pageSize;
if(count % pageSize != 0){
totalPage += 1;
}
pageSize=4,pageNum=1,index=0 limit 0,4
pageSize=4,pageNum=3,index=8 limit 8,4
pageSize=4,pageNum=6,index=20 limit 20,4
导航分页:
首页 上一页 2 3 4 5 6 下一页 末页

分页插件的使用

添加依赖

pom.xml

        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper</artifactId>
            <version>5.3.2</version>
        </dependency>

配置分页插件

mybatis-config.xml

    <plugins>
        <!--设置分页插件-->
        <plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin>
    </plugins>

 创建测试程序TestPage.java

    @Test
    public void testPage1(){
        SqlSession sqlSession = SqlSessionUtil.getSqlSession();
        EmpMapper empMapper = sqlSession.getMapper(EmpMapper.class);
        // 分页查询
        // 开启分页功能
        PageHelper.startPage(1,3);
        List<Emp> list_emp = empMapper.getAllEmp();
        list_emp.forEach(System.out::println);

        sqlSession.close();
    }

 分析查询结果,打印page试试

    @Test
    public void testPage2(){
        SqlSession sqlSession = SqlSessionUtil.getSqlSession();
        EmpMapper empMapper = sqlSession.getMapper(EmpMapper.class);

        Page<Emp> page = PageHelper.startPage(1,3);
        List<Emp> list_emp = empMapper.getAllEmp();
        list_emp.forEach(System.out::println);
        System.out.println(page);

        sqlSession.close();
    }

 在查询获取list集合之后,使用PageInfo pageInfo = new PageInfo<>(List list, int navigatePages)获取分页相关数据。

    @Test
    public void testPage3(){
        SqlSession sqlSession = SqlSessionUtil.getSqlSession();
        EmpMapper empMapper = sqlSession.getMapper(EmpMapper.class);

        Page<Emp> page = PageHelper.startPage(1,3);
        List<Emp> list_emp = empMapper.getAllEmp();
        
        // list后开启分页功能
        // navigatePages:导航分页的个数,比如设置4,导航分页就是2,3,4,5
        // 比如设置5,导航分页是2,3,4,5,6
        PageInfo<Emp> pageInfo = new PageInfo<>(list_emp, 5);

        list_emp.forEach(System.out::println);
        System.out.println(pageInfo);

        sqlSession.close();
    }

PageInfo{pageNum=1, pageSize=3, size=3, startRow=1, endRow=3, total=7, pages=3, list=Page{count=true, pageNum=1, pageSize=3, startRow=0, endRow=3, total=7, pages=3, reasonable=false, pageSizeZero=false}[Emp{empId=1, empName='张三', age=20, gender='男', deptId=1,dept=null}, Emp{empId=2, empName='李四', age=21, gender='女', deptId=2,dept=null}, Emp{empId=3, empName='王五', age=23, gender='男', deptId=3,dept=null}], prePage=0, nextPage=2, isFirstPage=true, isLastPage=false, hasPreviousPage=false, hasNextPage=true, navigatePages=5, navigateFirstPage=1, navigateLastPage=3, navigatepageNums=[1, 2, 3]}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值