PageHelper
PageHelper是国内非常优秀的一款开源的mybatis分页插件,它支持基本主流与常用的数据库,例如mysql、oracle、mariaDB、DB2、SQLite、Hsqldb等。
本项目在 github 的项目地址:https://github.com/pagehelper/Mybatis-PageHelper
本项目在 gitosc 的项目地址:http://git.oschina.net/free/Mybatis_PageHelper
下文截图的代码,都可在上面的github网址中查找到
1、引入架包
想要使用PageHelper,首先要引用架包,如下图所示
jsqlparser.jar是sql解析工具和pagehelper配套使用,注意的是,在使用这两个架包的时候要注意两个版本的兼容问题,上图的两个架包是兼容的。
2、 加入pagehelper的插件(mybatis配置文件中)
3、测试
做完1和2的配置就可以来测试一下效果了,代码如下:
package com.zhiyou100.zjc.mapper; import static org.junit.jupiter.api.Assertions.*; import java.io.Reader; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.ResultHandler; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.BeforeAll; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.zhiyou100.zjc.bean.User; import com.zhiyou100.zjc.dao.UserMapper; class Test { static SqlSession session=null; final String url="com.zhiyou100.zjc.mapper.UserMapper"; UserMapper usermapper = session.getMapper(UserMapper.class); @BeforeAll static void setUpBeforeClass() throws Exception { Reader reader = Resources.getResourceAsReader("conf.xml"); SqlSessionFactory sessionFactory =new SqlSessionFactoryBuilder().build(reader); session =sessionFactory.openSession(); } @AfterAll static void tearDownAfterClass() throws Exception { session.commit(); } @org.junit.jupiter.api.Test void getUserIdTest() { PageHelper.startPage(1, 2); List<User> list = usermapper.getSelectAll(); PageInfo<User> pageInfo = new PageInfo<User>(list); System.out.println(pageInfo); } }
打印结果如下: