1 .分页原理
2 .使用方法
插件叫做PageHelper,如果你也在用Mybatis,建议尝试该分页插件,这个一定是最方便使用的分页插件。
该插件目前支持Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六种数据库分页。
第一步:需要在SqlMapConfig.xml,配置一个plugin。
PageHelper的GAV
<dependency>
<groupId>com.github.miemiedev</groupId>
<artifactId>mybatis-paginator</artifactId>
<version>1.2.15</version>
</dependency>
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>4.0.0</version>
</dependency>
第二步:在sql语句执行之前,添加
PageHelper.startPage(page,rows);
第三步:取分页结果。创建一个PageInfo对象需要参数,查询结果返回的list。从PageInfo对象中取分页结果。
测试代码:
public void testPageHelper(){
ApplicationContext context = new ClassPathXmlApplicationContext("spring/applicationContext-*.xml");
TbItemMapper itemMapper = context.getBean(TbItemMapper.class);
TbItemExample example = new TbItemExample();
//设置分页
PageHelper.startPage(1, 30);
//此时返回的list 是当前页的信息
List<TbItem> list = itemMapper.selectByExample(example);
//取分页后结果
PageInfo<TbItem> pageInfo = new PageInfo<TbItem>(list);
long total = pageInfo.getTotal();
System.out.println("总记录数="+total);
int pages = pageInfo.getPages();
System.out.println("总页数="+pages);
int pageSize = pageInfo.getPageSize();
System.out.println("pageSize="+pageSize);
}