博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java orm分页_使用PetaPoco ORM 框架分页查询
阅读量:5741 次
发布时间:2019-06-18

本文共 1075 字,大约阅读时间需要 3 分钟。

通过在派生的Repository中调用GetPagingEntities方法来获取分页数据,并返回由PagingDataSet封装分页集合,例如:

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

Public PagingDataSet GetDataPage(int? stuid,int pageIndex, intpageSize )

{return GetPagingEntities(pageSize,pageIndex,CachingExpirationType.ObjectCollection,()=>{

StringBulider cacheKey= new StringBulider(CacheSetting.GetListCacheKeyPrefix(CacheVersionType.AreaVersion,"stuid",stuid));if(stuid.HasValue&& stuid.Value>0)

{

cacheKey.AppendFormat("stuid-{0}:", stuid.Value);returnstuid.ToString();

},

()=>{var sql =PetaPoco.Sql.Builder;if(stuid.HasValue&& && stuid.Value>0)

sql.Where("stuid =@0", stuid.Value);returnsql;

}

});

}

View Code

对于查询分为主流查询及非主流查询:

1)         例如:博客文章列表属于主流查询,博客文章排行属于非主流查询;

2)         主流查询最大返回记录数限制为PrimaryMaxRecords;

3)         非主流查询通常不需要查看太多数据,最大返回记录数限制为SecondaryMaxRecords;

3.         对于查询条件较多的情况可以定义Query类进行封装;

Public class SampleEntityQuery{

public long? userid=null;

public SortBySampleEntity sort=SortBySampleEntity.DataCreated;

public enum SortBySampleEntity{

DateCreate,

HitTimes

}

}

4.         查询语句需要使用PetaPoco.Sql进行组装;

5.         分页查询结果使用只读集合类型PagingDataSet进行封装,PagingDataSet中含当前集合的PageIndex、PageSize与TotalRecords信息;

转载地址:http://ybnzx.baihongyu.com/

你可能感兴趣的文章
C#多线程编程
查看>>
linux整理错误集合
查看>>
Cocos2d-x3.2 Ease加速度
查看>>
力求颜值与干货齐高,出品人深度解读三大专场
查看>>
虚拟化平台cloudstack(2)——安装(上)
查看>>
各种排序(数据结构复习之内部排序算法总结)
查看>>
[EntLib]关于SR.Strings的使用办法[加了下载地址]
查看>>
RHCE学习<2>无人值守安装Linux系统(FTP+TFTP+DHCP+Kickstart+PXE)
查看>>
yafphp框架
查看>>
中小型网站架构分析及优化
查看>>
php构造json数组与对象
查看>>
CentOS6.5安装docker环境
查看>>
写shell的事情
查看>>
ssh登陆限制
查看>>
负载均衡之Haproxy配置详解(及httpd配置)
查看>>
linux虚拟机拷贝之后联网出错
查看>>
Oracel10G Dateguard 配置最大性能保护模式
查看>>
Linux文件系统探索
查看>>
标准与扩展ACL 、 命名ACL 、 总结和答疑
查看>>
查找恶意的TOR中继节点
查看>>