Mybatis分页插件PageHelper正确的使用方法(网上有2篇不够科学的文章)

本文分享在Mybatis项目中使用PageHelper组件进行分页遇到的问题及解决过程。包括配置误导与FTL中EL表达式显示异常,解析作者配置错误与代码不当之处。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

               
今天下午在Mybatis项目中,实现分页。因为我是后加入项目中的,Leader用的是PageHelper这个组件,但是我在实际使用的过程中遇到了2个大问题。

 1. http://www.oschina.net/news/53808/mybatis_pagehelper-3-2-2?p=2#comments
    在这篇文章中,作者有提到需要增加PageHelper的配置,原话“ 或者如果你使用Maven,你可以添加如下依赖: ”  

   这句话是有问题的,
   < plugins >
     <!-- com.github.pagehelper为PageHelper类所在包名 -->
     < plugin  interceptor = "com.github.pagehelper.PageHelper" >
         < property  name = "dialect"  value = "mysql" />
         <!-- 该参数默认为false -->
         <!-- 设置为true时,会将RowBounds第一个参数offset当成pageNum页码使用 -->
         <!-- 和startPage中的pageNum效果一样-->
         < property  name = "offsetAsPageNum"  value = "true" />
         <!-- 该参数默认为false -->
         <!-- 设置为true时,使用RowBounds分页会进行count查询 -->
         < property  name = "rowBoundsWithCount"  value = "true" />
     </ plugin >
</ plugins >
   这几段插件配置的代码,应该放到Mybatis的config配置文件中,而非Maven。
  
   后来,听Leader说,他在这也被误导了,搞了一天时间吧。

2. 
http://www.oschina.net/p/mybatis_pagehelper
   作者使用PageHelper的方法不太对,虽然Java后台测试是可以的,但是在FTL中显示的时候,EL表达式不能正常显示。

   作者的代码:
    @Test
public void testPageHelperByStartPage()  throws Exception {
     String logip =  "" ;
     String username =  "super" ;
     String loginDate =  "" ;
     String exitDate =  null ;
     String logerr =  null ;
     //不进行count查询,第三个参数设为false
     PageHelper.startPage( 1 10 false );
     //返回结果是Page<SysLoginLog>    
     //该对象除了包含返回结果外,还包含了分页信息,可以直接按List使用
     List<SysLoginLog> logs = sysLoginLogMapper
             .findSysLoginLog(logip, username, loginDate, exitDate, logerr);
     Assert.assertEquals( 10 , logs.size());
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值