mybatis使用PageHelper实现分页的技术

来源:互联网 发布:discuz源码有多大 编辑:程序博客网 时间:2024/06/01 08:29
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.   
  14.     //紧跟着的第一个select方法会被分页  
  15. List<Country> list = countryMapper.selectIf(1);  
  16. 2、取分页信息  
  17. //分页后,实际返回的结果list类型是Page<E>,如果想取出分页信息,需要强制转换为Page<E>,  
  18. Page<Country> listCountry = (Page<Country>)list;  
  19. listCountry.getTotal();  
  20. 3、取分页信息的第二种方法  
  21. //获取第1页,10条内容,默认查询总数count  
  22. PageHelper.startPage(1, 10);  
  23. List<Country> list = countryMapper.selectAll();  
  24. //用PageInfo对结果进行包装  
  25. PageInfo page = new PageInfo(list);  
  26. //测试PageInfo全部属性  
  27. //PageInfo包含了非常全面的分页属性  
  28. assertEquals(1, page.getPageNum());  
  29. assertEquals(10, page.getPageSize());  
  30. assertEquals(1, page.getStartRow());  
  31. assertEquals(10, page.getEndRow());  
  32. assertEquals(183, page.getTotal());  
  33. assertEquals(19, page.getPages());  
  34. assertEquals(1, page.getFirstPage());  
  35. assertEquals(8, page.getLastPage());  
  36. assertEquals(true, page.isFirstPage());  
  37. assertEquals(false, page.isLastPage());  
  38. assertEquals(false, page.isHasPreviousPage());  
  39. assertEquals(true, page.isHasNextPage());<em>  
  40. </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.   
  14.     //紧跟着的第一个select方法会被分页  
  15. List<Country> list = countryMapper.selectIf(1);  
  16. 2、取分页信息  
  17. //分页后,实际返回的结果list类型是Page<E>,如果想取出分页信息,需要强制转换为Page<E>,  
  18. Page<Country> listCountry = (Page<Country>)list;  
  19. listCountry.getTotal();  
  20. 3、取分页信息的第二种方法  
  21. //获取第1页,10条内容,默认查询总数count  
  22. PageHelper.startPage(1, 10);  
  23. List<Country> list = countryMapper.selectAll();  
  24. //用PageInfo对结果进行包装  
  25. PageInfo page = new PageInfo(list);  
  26. //测试PageInfo全部属性  
  27. //PageInfo包含了非常全面的分页属性  
  28. assertEquals(1, page.getPageNum());  
  29. assertEquals(10, page.getPageSize());  
  30. assertEquals(1, page.getStartRow());  
  31. assertEquals(10, page.getEndRow());  
  32. assertEquals(183, page.getTotal());  
  33. assertEquals(19, page.getPages());  
  34. assertEquals(1, page.getFirstPage());  
  35. assertEquals(8, page.getLastPage());  
  36. assertEquals(true, page.isFirstPage());  
  37. assertEquals(false, page.isLastPage());  
  38. assertEquals(false, page.isHasPreviousPage());  
  39. assertEquals(true, page.isHasNextPage());<em>  
  40. </em>  


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

0 0
原创粉丝点击