MyBatis-扩展-PageHelpler分页插件使用

来源:互联网 发布:少女时代十周年知乎 编辑:程序博客网 时间:2024/06/17 00:20

• PageHelper是MyBatis中非常方便的第三方分页插件。

• 官方文档:

https://github.com/pagehelper/MybatisPageHelper/blob/master/README_zh.md

我们可以对照官方文档的说明,快速的使用插件

 

使用步骤

1、导入相关包pagehelper-x.x.x.jarjsqlparser-0.9.5.jar

pagehelper-5.0.0-rc.jar

jsqlparser-0.9.5.jar

• 2、在MyBatis全局配置文件中配置分页插件。

<!--

    plugins在配置文件中的位置必须符合要求,否则会报错,顺序如下:

    properties?, settings?,

    typeAliases?, typeHandlers?,

    objectFactory?,objectWrapperFactory?,

    plugins?,

    environments?, databaseIdProvider?, mappers?

-->

<plugins>

<!-- com.github.pagehelper为PageHelper类所在包名 -->

<plugin interceptor="com.github.pagehelper.PageInterceptor">

        <!-- 使用下面的方式配置参数,后面会有所有的参数介绍 -->

        <property name="param1" value="value1"/>

</plugin>

</plugins>

• 3、使用PageHelper提供的方法进行分页

• 4、可以使用更强大的PageInfo封装返回结果

public void getEmps() throws Exception{

SqlSessionFactory sqlSessionFactory = getSqlSessionFactory();

SqlSession openSession = sqlSessionFactory.openSession(true);

try {

EmployeeMapper mapper = openSession.getMapper(EmployeeMapper.class);

 

Page<Object> page = PageHelper.startPage(1, 5);

 

List<Employee> emps = mapper.getEmps();

//传入要连续显示多少页

PageInfo<Employee> info = new PageInfo<>(emps, 5);

for (Employee employee : emps) {

System.out.println(employee);

}

/*

System.out.println("当前页码:"+page.getPageNum());

System.out.println("总记录数:"+page.getTotal());

System.out.println("每页的记录数:"+page.getPageSize());

System.out.println("总页码:"+page.getPages());

*/

//xxx

System.out.println("当前页码:"+info.getPageNum());

System.out.println("总记录数:"+info.getTotal());

System.out.println("每页的记录数:"+info.getPageSize());

System.out.println("总页码:"+info.getPages());

System.out.println("是否第一页:"+info.isIsFirstPage());

System.out.println("连续显示的页码:");

int[] nums = info.getNavigatepageNums();

 

for (int i = 0; i < nums.length; i++)   {

System.out.println(nums[i]);

}

} finally {

// TODO: handle finally clause

openSession.close();

}

}

 

使用方法

https://github.com/pagehelper/Mybatis-PageHelper/blob/master/wikis/zh/HowToUse.md