PageHelper分页插件的使用

在SSM框架中,在maven项目中需要PageHelper的依赖
<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper</artifactId>
    <version>5.1.11</version>
</dependency>
同时在配置文件mybatis.xml中也要加入PageHelper插件
<!--    加入分页插件
注:4.x版本和5.x有一点差别
-->
    <plugins>
        <plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin>
    </plugins>
代码
package com.test;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.pl.mapper.ClazzMapper;
import com.pl.mapper.StudentMapper;
import com.pl.pojo.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.IOException;
import java.io.InputStream;
import java.util.List;
public class Demo {
    SqlSession sqlSession;
    StudentMapper studentMapper;
    ClazzMapper clazzMapper;
    public  Demo(){
        String resources="mybatis.xml";
        InputStream in=null;
        try {
            //加载mybatis.xml文件
            in= Resources.getResourceAsStream(resources);
            //通过配置文件创建连接数据库的工厂类
            SqlSessionFactory  sqlSessionFactory=new SqlSessionFactoryBuilder().build(in);//底层由子类DefaultSqlSessionFactory创建
            //通过SQLSessionFactory获取发送SQL语句的对象
            sqlSession= sqlSessionFactory.openSession();//底层用DefaultSqlSession创建的
            //获取StudentMapper的对象
             studentMapper = sqlSession.getMapper(StudentMapper.class);
            clazzMapper = sqlSession.getMapper(ClazzMapper.class);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    //分页查询
    @Test
    public  void sell(){
        //使用PageHelper插件实现分页处理
        int pageNum=2;//页码(从1开始),这个页码是用户点击传入的
        int pageSize=3;//每页显示的数据条数,由程序员设定
        //注意:设置页码和每页显示的条数一定要放在查询语句之前,否则不生效
        PageHelper.startPage(pageNum,pageSize);//等同于SQL语句中的limit 2,3
        List<Student> students = studentMapper.getStudents();
        //封装分页之后的数据
        //PageInfo  管理页面数据的对象(且 里面包含了:总条数,当前页面等等信息)
        PageInfo<Student> pageInfo = new PageInfo<>(students);
        //获取分页之后的数据
        List<Student> list = pageInfo.getList();
        //分页之后的数据
        System.out.println("分页后");
        for (Student s:list) {
            System.out.println(s.getSname()+"--"+s.getAge());
        }
        System.out.println("分页之后的数据:"+pageInfo.getList());
        System.out.println("当前的页码:"+pageInfo.getPageNum());
        System.out.println("当前的数据总数:"+pageInfo.getTotal());
        /**
         * 注意:
         *
         *studentMapper.getStudents() 的查询数据的动作要放在
         * PageHelper.startPage(pageNum,pageSize); 的后面 ,否则PageHelper会失效
         */
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值