`
feipigwang
  • 浏览: 743903 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

DataRabbit 轻量的数据访问框架(10) -- IPagerManager

 
阅读更多
(完全限定类名:DataRabbit.Core.IPagerManager

DataRabbit框架提供了对单表查询的结果进行分页的功能,这就是IPagerManager所完成的目标。我们可以从DataRabbit的入口点IDataAccesser中获取IPagerManager引用:
PagerParameters param = ...; //构建分页参数
IPagerManager pagerManager
=dataAccesser.GetPagerManager(param);
首先,我们看分页参数PagerParameters中需要提供哪些信息:

分页参数包括的信息有:
Table -- 表示对那个数据表进行分页。
PageSize -- 表示每页的大小,包含多少条记录。
PKey -- 表示依据哪个主键进行排序分页。
WhereStr -- 表示查询条件,仅仅对满足条件的查询结果分页,如果要分页表中的所有数据,则设置为其值null。
CacherSize -- 表示最大缓存多少个页面。
Fields -- 表示要返回的页中包括哪些列。
FieldAlias -- 表示要进行替换的列的别名。

通过构建一个PagerParameters实例,我们就可以从IDataAccesser获取目标表的数据分页管理器IPagerManager实例,IPagerManager接口完整定义如下:
publicinterfaceIPagerManager
{
///<summary>
///GetPage取出第index页
///</summary>
DataTableGetPage(intindex);

///<summary>
///ItemCount符合条件的记录总数
///</summary>
intItemCount{get;}

///<summary>
///PageCount分页总数
///</summary>
intPageCount{get;}

///<summary>
///CacherSize缓存大小
///</summary>
intCacherSize{get;}
}
通过接口定义,我们看到,IPagerManager没有继承 ITransactionAccesser 接口,这表明,IPagerManager只能在非事务环境中工作。
GetPage()方法根据页的索引index就可以得到对应页的内容,注意,我们使用DataTable反映一页的内容。

下面是对Student表进行分页,并且将页绑定到DataGridView显示的例子:
PagerParameterspara=newPagerParameters("Student","ID","",10);
IPagerManagerpagerManager
=dataAccesser.GetPagerManager(para);

//绑定
this.dataGridView1.DataSource=pagerManager.GetPage(int.Parse(this.textBox_pageIndex.Text));


转到:DataRabbit 轻量的数据访问框架 -- 序




分享到:
评论

相关推荐

    轻量级ORM工具 DataRabbit3.2

    比如,DataRabbit对你的数据库设计没有任何要求(而有的数据访问框架可能要求数据表必须有唯一主键)。 2. 约定优于配置。使用DataRabbit不需要任何配置,这使得DataRabbit更加易用。 3. 数据库类型无关性。统一的...

    DataRabbit

    用DataRabbit来实现数据库批量插入数据, 要比用DBAdapter和Linq的速度还要快。

    3796 i-FRAME 安装、操作和维护手册

    3796 i-FRAME 安装、操作和维护手册

    我的visio画图 资源备用

    我的visio画图

    NPOI是指构建在POI 3.x版本之上的一个程序

    NPOI可以在没有安装Office的情况下对Word或Excel进行读写,NPOI是一个开源的C#读写Excel、WORD等微软OLE2组件文档的项目

    基于STM32F103C8单片机设计-旋转编码器数码管显示程序KEIL工程源码.zip

    STM32学习软件编程资料,STM32F103C8单片机经典外设应用设计实例软件源代码,KEIL工程文件,可供学习参考。

    VoLTE高丢包优化指导书.xlsx

    VoLTE高丢包优化指导书

    LTE容量优化高负荷小区优化指导书.docx

    5G通信行业、网络优化、通信工程建设资料

    中国移动无线、传输专业项目全生命周期、建设期、施工期控制标准.docx

    5G通信行业、网络优化、通信工程建设资料

    基于Springboot+Vue校园周边美食探索及分享平台毕业源码案例设计.zip

    网络技术和计算机技术发展至今,已经拥有了深厚的理论基础,并在现实中进行了充分运用,尤其是基于计算机运行的软件更是受到各界的关注。加上现在人们已经步入信息时代,所以对于信息的宣传和管理就很关键。系统化是必要的,设计网上系统不仅会节约人力和管理成本,还会安全保存庞大的数据量,对于信息的维护和检索也不需要花费很多时间,非常的便利。 网上系统是在MySQL中建立数据表保存信息,运用SpringBoot框架和Java语言编写。并按照软件设计开发流程进行设计实现。系统具备友好性且功能完善。 网上系统在让售信息规范化的同时,也能及时通过数据输入的有效性规则检测出错误数据,让数据的录入达到准确性的目的,进而提升数据的可靠性,让系统数据的错误率降至最低。 关键词:vue;MySQL;SpringBoot框架 【引流】 Java、Python、Node.js、Spring Boot、Django、Express、MySQL、PostgreSQL、MongoDB、React、Angular、Vue、Bootstrap、Material-UI、Redis、Docker、Kubernetes

    基于Springboot+Vue善筹网(众筹)前后台实现设计-毕业源码案例设计.zip

    网络技术和计算机技术发展至今,已经拥有了深厚的理论基础,并在现实中进行了充分运用,尤其是基于计算机运行的软件更是受到各界的关注。加上现在人们已经步入信息时代,所以对于信息的宣传和管理就很关键。系统化是必要的,设计网上系统不仅会节约人力和管理成本,还会安全保存庞大的数据量,对于信息的维护和检索也不需要花费很多时间,非常的便利。 网上系统是在MySQL中建立数据表保存信息,运用SpringBoot框架和Java语言编写。并按照软件设计开发流程进行设计实现。系统具备友好性且功能完善。 网上系统在让售信息规范化的同时,也能及时通过数据输入的有效性规则检测出错误数据,让数据的录入达到准确性的目的,进而提升数据的可靠性,让系统数据的错误率降至最低。 关键词:vue;MySQL;SpringBoot框架 【引流】 Java、Python、Node.js、Spring Boot、Django、Express、MySQL、PostgreSQL、MongoDB、React、Angular、Vue、Bootstrap、Material-UI、Redis、Docker、Kubernetes

    203ssm-mysql-jsp 包头市交通管理局路况查询系统.zip(可运行源码+数据库文件+)

    该课题主要是以SpringMVC模式运行的,采用了mysql数据库进行数据的管理,掌握并且熟练使用百度API相关技术。系统分为了管理员用户和一般用户,主要有以下模块: 管理员用户: 1.实时路况管理:实时路况的信息采用了百度地图进行直观的管理,利用了GIS相关技术进行管理,能够让用户方便的第一时间查看到相应的地图信息,以及实时路况信息。 2.投诉留言管理:实现了对投诉留言信息的查看和回复。 3.系统信息设置:实现了系统的访问数据的统计,以及针对系统的管理员 用户和管理员密码进行管理。 4.用户信息管理:管理了一般用户的基本信息情况,针对用户的资料进行修改管理。 一般用户: 1.用户资料管理:实现了用户个人的资料信息管理。 2.路况信息查看:实现了对路径的实时信息的查看,某个路段在某时间的交通情况的查看,以三种情况代表路况情况(拥挤、缓行和畅通) 3.路况分析:采用了折线图,分析每天或者某个月的路况信息,以折线图形式直观展示。该功能采用jFreeChart库实现。 4.留言发布:针对一些路况信息,进行留言反馈,并能查看管理员反馈信息。

    施工现场安全技术交底模板.doc

    5G通信行业、网络优化、通信工程建设资料。

    GSM室分优化掉话专题总结报告.docx

    5G通信、网络优化与通信建设

    通信线缆基本理论.docx

    5G通信行业、网络优化、通信工程建设资料。

    node-v12.20.1-sunos-x64.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    199-数据安全治理的思考与规划-论剑.pdf

    199-数据安全治理的思考与规划-论剑.pdf

    SPVLoc: Semantic Panoramic Viewport Matching for 6D Camera Local

    SPVLoc: Semantic Panoramic Viewport Matching for 6D Camera Localization in Unseen Environments

    基于Springboot+Vue校园资料分享平台毕业源码案例设计.zip

    网络技术和计算机技术发展至今,已经拥有了深厚的理论基础,并在现实中进行了充分运用,尤其是基于计算机运行的软件更是受到各界的关注。加上现在人们已经步入信息时代,所以对于信息的宣传和管理就很关键。系统化是必要的,设计网上系统不仅会节约人力和管理成本,还会安全保存庞大的数据量,对于信息的维护和检索也不需要花费很多时间,非常的便利。 网上系统是在MySQL中建立数据表保存信息,运用SpringBoot框架和Java语言编写。并按照软件设计开发流程进行设计实现。系统具备友好性且功能完善。 网上系统在让售信息规范化的同时,也能及时通过数据输入的有效性规则检测出错误数据,让数据的录入达到准确性的目的,进而提升数据的可靠性,让系统数据的错误率降至最低。 关键词:vue;MySQL;SpringBoot框架 【引流】 Java、Python、Node.js、Spring Boot、Django、Express、MySQL、PostgreSQL、MongoDB、React、Angular、Vue、Bootstrap、Material-UI、Redis、Docker、Kubernetes

    基于Springboot+Vue大学生科创项目在线管理系统的设计-毕业源码案例设计.zip

    网络技术和计算机技术发展至今,已经拥有了深厚的理论基础,并在现实中进行了充分运用,尤其是基于计算机运行的软件更是受到各界的关注。加上现在人们已经步入信息时代,所以对于信息的宣传和管理就很关键。系统化是必要的,设计网上系统不仅会节约人力和管理成本,还会安全保存庞大的数据量,对于信息的维护和检索也不需要花费很多时间,非常的便利。 网上系统是在MySQL中建立数据表保存信息,运用SpringBoot框架和Java语言编写。并按照软件设计开发流程进行设计实现。系统具备友好性且功能完善。 网上系统在让售信息规范化的同时,也能及时通过数据输入的有效性规则检测出错误数据,让数据的录入达到准确性的目的,进而提升数据的可靠性,让系统数据的错误率降至最低。 关键词:vue;MySQL;SpringBoot框架 【引流】 Java、Python、Node.js、Spring Boot、Django、Express、MySQL、PostgreSQL、MongoDB、React、Angular、Vue、Bootstrap、Material-UI、Redis、Docker、Kubernetes

Global site tag (gtag.js) - Google Analytics