设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 软件追踪 查看内容

Mybatis 分页插件 3.0 发布

2014-5-23 14:09| 发布者: 红黑魂| 查看: 2250| 评论: 0|来自: 开源中国

摘要: 感谢大家的支持,通过收集建议,对分页插件做了多项改进。现在正式发布3.0版本。v3.0现在支持两种形式的分页,使用PageHelper.startPage方法或者使用RowBounds参数PageHelper.startPage方法修改,原先的startPage(in ...

感谢大家的支持,通过收集建议,对分页插件做了多项改进。现在正式发布3.0版本。

v3.0

  1. 现在支持两种形式的分页,使用PageHelper.startPage方法或者使用RowBounds参数

  2. PageHelper.startPage方法修改,原先的startPage(int pageNum, int pageSize)默认求count,新增的startPage(int pageNum, int pageSize, boolean count)设置count=false可以不执行count查询

  3. 移除endPage方法,现在本地变量localPage改为取出后清空本地变量。

  4. 修改Page<E>类,继承ArrayList<E>

  5. 关于两种形式的调用,请看示例代码

使用方法

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

1<plugins>
2    <plugin interceptor="PageHelper"></plugin>
3</plugins>

这里的PageHelper要使用完整的类路径,需要加上包路径。

不支持的情况

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

关联结果查询和关联嵌套查询的区别

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

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

01@Test
02public void testPageHelperByNamespaceAndRowBounds() throws Exception {
03    //没有RowBounds不进行分页
04    List<SysLoginLog> logs = sqlSession.selectList("findSysLoginLog2");
05    Assert.assertNotEquals(10, logs.size());
06 
07    //使用RowBounds分页
08    List<SysLoginLog> logs2 = sqlSession
09            .selectList("findSysLoginLog2",null,new RowBounds(0,10));
10    Assert.assertEquals(10, logs2.size());
11}

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

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


酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部