- PageHelper是什么?
是MyBatis提供的分页插件,可以支持MySQL、Oracle等六种数据库。
集成方式如下:
1 引入依赖
<dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper</artifactId><version>5.3.2</version>
</dependency>
2 在核心配置文件中配置分页插件
<plugins><plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin>
</plugins>
3 功能测试
package com.giser.mybatis.pagehelper;import com.giser.mybatis.pagehelper.mapper.EmpMapper;
import com.giser.mybatis.pagehelper.pojo.Emp;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
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 EmpMapperTest {@Testpublic void testPageHelper(){try {InputStream is = Resources.getResourceAsStream("mybatis-config.xml");SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(is);SqlSession sqlSession = sqlSessionFactory.openSession(true);EmpMapper empMapper = sqlSession.getMapper(EmpMapper.class);int pageNum = 1;int pageSize = 3;PageHelper.startPage(pageNum, pageSize);List<Emp> empList = empMapper.queryEmpList();if (empList instanceof Page<Emp>){Page<Emp> empPage = (Page<Emp>) empList;System.out.println(empPage);}PageInfo<Emp> pageInfo = new PageInfo<>(empList, 5);System.out.println(pageInfo);} catch (IOException e) {throw new RuntimeException(e);}}
}