Mybatis分页插件

1.分页插件的概述

分页可以将很多条结果进行分页显示

如果当前在第一页,则没有上一页。如果当前在最后一页,则没有下一页

需要明确当前是第几页,这一页中显示多少条结果

解决分页问题

分页可以将很多条结果进行分页显示

如果当前在第一页,则没有上一页。如果当前在最后一页,则没有下一页

需要明确当前是第几页,这一页中显示多少条结果

PageHelper:第三方分页助手。将复杂的分页操作进行封装,从而让分页功能变得非常简单

2.分页插件的使用

实现步骤 :

1.导入与PageHelper的jar包

2.在mybatis核心配置文件中配置PageHelper插件

<!--集成分页助手插件-->
    <plugins>
        <plugin interceptor="com.github.pagehelper.PageInterceptor"/>
    </plugins>

3.在测试类中使用分页助手相关API实现分页功能

package Mybatis2.paging;

import Mybatis2.mapper.StudentMapper;
import com.github.pagehelper.PageHelper;
import mybatis1.bean.Student;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;

import java.io.InputStream;
import java.util.List;

public class Test01 {
    @Test
    public void selectpaging() throws Exception{
        //1.加载核心配置文件
        InputStream is = Resources.getResourceAsStream("MybatisConfig.xml");
        //2.获取SqlSession工厂对象
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(is);
        //3.通过工厂对象获取SqlSession
        SqlSession sqlSession = sqlSessionFactory.openSession(true);
        //4.获取StudentMapper接口的实现类对象
        StudentMapper mapper = sqlSession.getMapper(StudentMapper.class);
        //第一页,显示3条数据
        //PageHelper.startPage(1,3);
        //第二页,显示3条数据
        //PageHelper.startPage(2,3);
        // 第三页:显示3条数据
        PageHelper.startPage(3,3);

        List<Student> list = mapper.selectAll();
        for(Student student : list){
            System.out.println(student);
        }
        sqlSession.close();
        is.close();
    }
}

3.分页参数的获取

PageInfo:封装分页相关参数的功能类

核心方法:

返回值方法名说明
longgetTotal()获取总条数
intgetPages()获取总页数
intgetPageNum()获取当前页
intgetPageSize()获取每页显示条数
intgetPrePage()获取上一页
intgetNextPage()获取下一页
booleanisIsFirstPage()获取是否是第一页
booleanisIsLastPage()获取是否是最后一页

例:

package Mybatis2.paging;

import Mybatis2.mapper.StudentMapper;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import mybatis1.bean.Student;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;

import java.io.InputStream;
import java.util.List;

public class Test01 {
    @Test
    public void selectpaging() throws Exception{
        //1.加载核心配置文件
        InputStream is = Resources.getResourceAsStream("MybatisConfig.xml");
        //2.获取SqlSession工厂对象
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(is);
        //3.通过工厂对象获取SqlSession
        SqlSession sqlSession = sqlSessionFactory.openSession(true);
        //4.获取StudentMapper接口的实现类对象
        StudentMapper mapper = sqlSession.getMapper(StudentMapper.class);
        //第一页,显示3条数据
        //PageHelper.startPage(1,3);
        //第二页,显示3条数据
        //PageHelper.startPage(2,3);
        // 第三页:显示3条数据
        PageHelper.startPage(3,3);


        List<Student> list = mapper.selectAll();
        for(Student student : list){
            System.out.println(student);
        }

        //其他分页的数据
        PageInfo<Student> info = new PageInfo<>(list);
        System.out.println("总条数:"+ info.getTotal());
        System.out.println("总页数:"+ info.getPages());
        System.out.println("当前页:"+ info.getPageNum());
        System.out.println("每页显示长度:"+ info.getPageSize());
        System.out.println("是否第一页:"+ info.isIsFirstPage());
        System.out.println("是否最后一页:"+ info.isIsLastPage());

        sqlSession.close();
        is.close();
    }
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值