【简介】
该分页插件叫做PageHelper如果你也在用Mybatis,建议尝试该分页插件,这个一定是最方便使用的分页插件。该插件目前支持Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六种数据库分页。
【原理】
【使用方法】
第一步:引用jar包
第二步:配置管理jar包的pom文件中加入pagerhelper的属性
第三步:需要在SqlMapConfig.xml(mybatis的配置文件),配置一个plugin。
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!-- 配置分页插件 -->
<plugins>
<plugin interceptor="com.github.pagehelper.PageHelper">
<!-- 指定数据库 -->
<property name="dialect" value="mysql"/>
</plugin>
</plugins>
</configuration>
第四步:
在
sql
语句执行之前,添加一个
PageHelper.startPage(page,rows);
第五步:取分页结果。创建一个PageInfo对象需要参数,查询结果返回的list。从PageInfo对象中取分页结果。
public class TestPageHelper {
@Test
public void testPageHelper() throws Exception {
//1、获得mapper代理对象
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath:spring/applicationContext-*.xml");
TbItemMapper itemMapper = applicationContext.getBean(TbItemMapper.class);
//2、设置分页
PageHelper.startPage(1, 30);
//3、执行查询
TbItemExample example = new TbItemExample();
List<TbItem> list = itemMapper.selectByExample(example);
//4、取分页后结果
PageInfo<TbItem> pageInfo = new PageInfo<>(list);
long total = pageInfo.getTotal();
System.out.println("total:" + total);
int pages = pageInfo.getPages();
System.out.println("pages:" + pages);
int pageSize = pageInfo.getPageSize();
System.out.println("pageSize:" + pageSize);
}
}