mybatis使用PageHelper实现分页的技术

论坛 期权论坛 脚本     
匿名技术用户   2021-1-4 01:28   449   0
1、如果你也在用Mybatis,建议尝试该分页插件,这个一定是最方便使用的分页插件。

该插件目前支持Oracle,MySQL,MariaDB,SQLite,Hsqldb,PostgreSQL六种数据库分页。

2简单使用方法



[html] view plain copy
在CODE上查看代码片派生到我的代码片
  1. 第一步:在Mybatis配置xml中配置拦截器插件:
  2. <plugins>
  3. <!-- com.github.pagehelper为PageHelper类所在包名 -->
  4. <plugin interceptor="com.github.pagehelper.PageHelper">
  5. <!-- 设置数据库类型 Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六种数据库-->
  6. <property name="dialect" value="mysql"/>
  7. </plugin>
  8. </plugins>
  9. 第二步:在代码中使用
  10. 1、设置分页信息:
  11. //获取第1页,10条内容,默认查询总数count
  12. PageHelper.startPage(1, 10);
  13. //紧跟着的第一个select方法会被分页
  14. List<Country> list = countryMapper.selectIf(1);
  15. 2、取分页信息
  16. //分页后,实际返回的结果list类型是Page<E>,如果想取出分页信息,需要强制转换为Page<E>
  17. Page<Country> listCountry = (Page<Country>)list;
  18. listCountry.getTotal();
  19. 3、取分页信息的第二种方法
  20. //获取第1页,10条内容,默认查询总数count
  21. PageHelper.startPage(1, 10);
  22. List<Country> list = countryMapper.selectAll();
  23. //用PageInfo对结果进行包装
  24. PageInfo page = new PageInfo(list);
  25. //测试PageInfo全部属性
  26. //PageInfo包含了非常全面的分页属性
  27. assertEquals(1, page.getPageNum());
  28. assertEquals(10, page.getPageSize());
  29. assertEquals(1, page.getStartRow());
  30. assertEquals(10, page.getEndRow());
  31. assertEquals(183, page.getTotal());
  32. assertEquals(19, page.getPages());
  33. assertEquals(1, page.getFirstPage());
  34. assertEquals(8, page.getLastPage());
  35. assertEquals(true, page.isFirstPage());
  36. assertEquals(false, page.isLastPage());
  37. assertEquals(false, page.isHasPreviousPage());
  38. assertEquals(true, page.isHasNextPage());<em>
  39. </em>


更详细的介绍http://Git.oschina.NET/free/Mybatis_PageHelper/blob/master/wikis/HowToUse.markdown


[html] view plain copy
在CODE上查看代码片派生到我的代码片
  1. 第一步:在Mybatis配置xml中配置拦截器插件:
  2. <plugins>
  3. <!-- com.github.pagehelper为PageHelper类所在包名 -->
  4. <plugin interceptor="com.github.pagehelper.PageHelper">
  5. <!-- 设置数据库类型 Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六种数据库-->
  6. <property name="dialect" value="mysql"/>
  7. </plugin>
  8. </plugins>
  9. 第二步:在代码中使用
  10. 1、设置分页信息:
  11. //获取第1页,10条内容,默认查询总数count
  12. PageHelper.startPage(1, 10);
  13. //紧跟着的第一个select方法会被分页
  14. List<Country> list = countryMapper.selectIf(1);
  15. 2、取分页信息
  16. //分页后,实际返回的结果list类型是Page<E>,如果想取出分页信息,需要强制转换为Page<E>
  17. Page<Country> listCountry = (Page<Country>)list;
  18. listCountry.getTotal();
  19. 3、取分页信息的第二种方法
  20. //获取第1页,10条内容,默认查询总数count
  21. PageHelper.startPage(1, 10);
  22. List<Country> list = countryMapper.selectAll();
  23. //用PageInfo对结果进行包装
  24. PageInfo page = new PageInfo(list);
  25. //测试PageInfo全部属性
  26. //PageInfo包含了非常全面的分页属性
  27. assertEquals(1, page.getPageNum());
  28. assertEquals(10, page.getPageSize());
  29. assertEquals(1, page.getStartRow());
  30. assertEquals(10, page.getEndRow());
  31. assertEquals(183, page.getTotal());
  32. assertEquals(19, page.getPages());
  33. assertEquals(1, page.getFirstPage());
  34. assertEquals(8, page.getLastPage());
  35. assertEquals(true, page.isFirstPage());
  36. assertEquals(false, page.isLastPage());
  37. assertEquals(false, page.isHasPreviousPage());
  38. assertEquals(true, page.isHasNextPage());<em>
  39. </em>


更详细的介绍http://Git.oschina.NET/free/Mybatis_PageHelper/blob/master/wikis/HowToUse.markdown

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP