Java-MyBatis-4(分页插件PageHelper)

本文介绍了PageHelper在MyBatis中的应用,如何通过导入jar包、配置拦截器以及简单示例展示了如何利用PageHelper进行分页查询,包括设置起始页和每页数量,以及封装和获取分页信息的方法。
摘要由CSDN通过智能技术生成

一、PageHelper的作用

分页的sql语句:

select * from 表名 [where 条件] limit (page-1)*pageSize, pageSize;

page: 当前页码
pageSize: 每页显示的条数。

当我们使用pagehelper时就不需要写limit分页的语句了,它就可以帮你完成分页的功能。

二、PageHelper的使用

1.导入pageHelper的jar包

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

2、在mybatis.xml文件中设置拦截器

 plugins在配置文件中的位置必须符合要求,否则会报错,顺序如下:
    properties?, settings?,
    typeAliases?, typeHandlers?,
    objectFactory?,objectWrapperFactory?,
    plugins?,
    environments?, databaseIdProvider?, mappers?

  <plugins>
        <!--com.github.pagehelper为PageHelper类所在包名 -->
        <plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin>
    </plugins>

3、使用PageHelper

在我们的代码测试区域里添加设置分页

 PageHelper.startPage(pageNum,PageSize);

pageNum:显示第几页  PageSize:每页显示的条数

将查询到的数据封装到pageinfo类中

通过调用pageinfro中的方法可以拿到我们相要的数据

 @Test
    public void find_all()throws  Exception{
        //配置xml文件
        Reader reader = Resources.getResourceAsReader("mybatis.xml");
        //获取sqlsessionfactory对象
        SqlSessionFactory factory=new SqlSessionFactoryBuilder().build(reader);
        //获取sqlsession对象
        SqlSession session=factory.openSession();
        //创建代理类
        UserDao userDao = session.getMapper(UserDao.class);
        //分页
        PageHelper.startPage(1,5);
        //代理类调用方法
        List<User> list = userDao.findAll();
        //封装到pageinfo类中
        PageInfo <User> pageInfo=new PageInfo<>(list);
        //调用方法
        System.out.println("查询到数据的总条数:"+pageInfo.getTotal());
        System.out.println("查询到的数据按照要求可以分为多少页:"+pageInfo.getPages());
        System.out.println("当前页码对应的数据"+pageInfo.getList());
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值