ibatisdatasource:iBATIS分页例子中ObjectDataSource的应用浅析

  iBATIS分页例子中ObjectDataSource应用首先让我们来看看属性方面特点ObjectDataSource Control控件内置了对分页支持我们需要设置 ObjectDataSource EnablePaging属性然后要设置SelectMethod、SelectCountMethod 、StartRowIndexParameterName和MaximumRowsParameterName 属性当 EnablePaging 属性设置为 true 时SelectParameters 集合包含两个额外参数个用于请求个用于请求行数这两个参数名称由StartRowIndexParameterName 和 MaximumRowsParameterName 属性定义SelectMethod应该返回从指定索引处开始请求行数数据可能不是按页大小平均分割所以最后页可能包含较少因此请求行数实际上是返回最大行数

  上面提及后 4个属性含义很容易理解简单我们要实现两个思路方法个是返回总记录数(SelectCountMethod)个则返回当前请求页记录(SelectMethod)SelectMethod思路方法至少要包含两个参数以指定欲请求记录起始索引和欲返回最大行数

  SelectCountMethod般容易实现而SelectMethod则比较麻烦常见解决方案是存储过程这样存储过程通常和特定表紧密耦合难以通用

  使用iBATIS时我们通过ISqlMapper接口来访问数据库其中个思路方法相当有用:

IList<T> QueryForList<T>( statementName, object parameterObject,  skipResults,  maxResults);  

  前两个参数作查询的用而后两个参数则和ObjectDataSourceStartRowIndexParameterName 和 MaximumRowsParameterName 属性设计不谋而合!

  这样我们就可以只关注查询本身了把分页功能交由iBatis和ObjectDataSource来打理最重要这个思路方法相当通用也不需对查询语句作额外处理

  我测试数据为20万条翻页所需时间在0.7秒左右效果很不错了大家有兴趣可以尝试下



  图片看不清楚?请点击这里查看原图(大图) 

  iBATIS分页例子中ObjectDataSource应用就介绍到这里希望通过本文介绍使你对iBATIS分页例子中ObjectDataSource应用有所更高了解

Tags:  ibatis objectdatasource ibatis分页 ibatisdatasource

延伸阅读

最新评论

发表评论