Mybatis 分页插件 3.0 发布
2015-08-11 11:33:49   来源:   评论:0 点击:

感谢大家的支持,通过收集建议,对分页插件做了多项改进。现在正式发布3 0版本。v3 0现在支持两种形式的分页,使用PageHelper startP
       感谢大家的支持,通过收集建议,对分页插件做了多项改进。现在正式发布3.0版本。

v3.0


现在支持两种形式的分页,使用PageHelper.startPage方法或者使用RowBounds参数
PageHelper.startPage方法修改,原先的startPage(int pageNum, int pageSize)默认求count,新增的startPage(int pageNum, int pageSize, boolean count)设置count=false可以不执行count**
移除endPage方法,现在本地变量localPage改为取出后清空本地变量。
修改Page<E>类,继承ArrayList<E>
关于两种形式的调用,请看示例代码
使用方法


在Mybatis的配置xml中配置拦截器插件:

  1. <plugins>

  2.     <plugin interceptor="PageHelper"></plugin>

  3. </plugins>
复制代码
这里的PageHelper要使用完整的类路径,需要加上包路径。


不支持的情况


       对于关联结果查询,使用分页得不到正常的结果,因为只有把数据全部查询出来,才能得到最终的结果,对这个结果进行分页才有效。因而如果是这种情况,必然要先全部查询,在对结果处理,这样就体现不出分页的作用了。
      对于关联嵌套查询,使用分页的时候,只会对主SQL进行分页查询,嵌套的查询不会被分页。


      关联结果查询和关联嵌套查询的区别
      关联结果查询是查询出多个字段的数据,然后将字段拼接到相应的对象中,只会执行一次查询
      关联嵌套查询是对每个嵌套的查询单独执行sql,会执行多次查询


这里贴一段示例代码中的片段:


  1. @Test

  2. public void testPageHelperByNamespaceAndRowBounds() throws Exception {

  3.     //没有RowBounds不进行分页

  4.     List<SysLoginLog> logs = sqlSession.selectList("findSysLoginLog2");

  5.     Assert.assertNotEquals(10, logs.size());


  6.     //使用RowBounds分页

  7.     List<SysLoginLog> logs2 = sqlSession

  8.             .selectList("findSysLoginLog2",null,new RowBounds(0,10));

  9.     Assert.assertEquals(10, logs2.size());

  10. }
复制代码

       这里使用了新的分页方式,使用RowBounds进行分页,更多详细内容,大家可以去项目主页查看示例

        如果你对本插件有什么意见或建议,欢迎留言,不需要保留,大胆的说出来吧!


相关链接

相关热词搜索:

上一篇:开源PDF渲染引擎 PDFium
下一篇:中国是否需要一个自己的开源软件许可协议?

分享到: 收藏
评论排行