Mybatis分页插件PageHelper的简单使用:一、Mybatis框架的分页插件PageHelper是目前我用过的最简单的分页插件了,该插件目前支持Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六种数据库分页。
他的使用非常简单,简要步骤如下:
第一步:添加jar包到工程中,由于我是用的是maven创建的工程,因此在连接数据库的工程中的pom文件中添加依赖就可以了,如下图:
第二步:在SqlMapConfig.xml,配置一个plugin,如下:
mysql">
第二步:在sql语句执行之前,添加一个PageHelper.startPage(page,rows)
PageHelper.startPage(page, rows); //设置页码和每页显示个数
第三步:执行查询语句即可。
第四步:取分页结果。创建一个PageInfo对象,需要的参数:查询结果返回的list。从PageInfo中取出分页结果
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
//取分页后结果 PageInfo 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); //最后返回需要的结果就行,此处的Result 是我用来给前台返回json格式数据的封装类,里面提供了total(总数)和rows(数据集合)两个属性 PageResult result = new PageResult(); result.setTotal(pageInfo.getTotal()); result.setRows(list); //设置查询的结果集 return result; web层只需提供page和rows两个参数即可,当然也可以设置查询条件: @RequestMapping ( "/item/list" ) @ResponseBody //把pojo转换成json数据返回 public PageResult getItemList(Integer page, Integer rows){ PageResult result = itemService.getItemList(page, rows); return result; } |