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

简介: (完全限定类名:DataRabbit.Core.IPagerManager)   DataRabbit框架提供了对单表查询的结果进行分页的功能,这就是IPagerManager所完成的目标。我们可以从DataRabbit的入口点IDataAccesser中获取IPagerManager引用:     PagerParameters param = .
   (完全限定类名: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接口完整定义如下:
    public   interface  IPagerManager
    {    
        
///   <summary>
        
///  GetPage 取出第index页
        
///   </summary>        
        DataTable GetPage( int  index) ;  

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

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

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

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

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


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




目录
相关文章
|
4月前
|
SQL Java 数据库连接
Hibernate 是一款开源 ORM(对象关系映射)框架,封装了 JDBC,允许以面向对象的方式操作数据库,简化了数据访问层的开发。
Hibernate 是一款开源 ORM(对象关系映射)框架,封装了 JDBC,允许以面向对象的方式操作数据库,简化了数据访问层的开发。通过映射机制,它可以自动处理对象与数据库表之间的转换,支持主流数据库,提高了代码的可移植性和可维护性。其核心接口包括 SessionFactory、Session 和 Transaction 等,通过它们可以执行数据库的 CRUD 操作。配置方面,需在项目中引入 Hibernate 及数据库驱动依赖,并创建 `hibernate.cfg.xml` 配置文件来设置数据库连接和 Hibernate 行为参数。
58 1
|
7月前
|
设计模式 Oracle 关系型数据库
二十三种设计模式全面解析-适配器模式的妙用:异构数据库和不同版本API的完美兼容!
二十三种设计模式全面解析-适配器模式的妙用:异构数据库和不同版本API的完美兼容!
128 0
|
SQL 缓存 Oracle
1.NetDh框架之数据库操作层--Dapper简单封装,可支持多库实例、多种数据库类型等(附源码和示例代码)
1.NetDh框架开始的需求场景 需求场景: 1.之前公司有不同.net项目组,有的项目是用SqlServer做数据库,有的项目是用Oracle,后面也有可能会用到Mysql等,而且要考虑后续扩展成主从库、多库的需求。
3702 0
|
数据库连接 数据库 负载均衡
DataRabbit 轻量的数据访问框架(19)-- 读写分离与隔离级别
在高并发的系统中,我们常采用多数据库分散放置、读写分离、细粒度的隔离级别设定等策略来提高系统的性能。DataRabbit3.3 以及以上版本对这三种策略都给予了内置的支持。 (1)数据库分散放置:对于较大型的系统,在设计数据库时,我们可以根据业务范围将其设计为多个数据库,而不是一个,然后将这些数据库部署在不同的物理服务器上,以分担负载。
859 0
|
数据库 Java Spring
DataRabbit 轻量的ORM框架(17)-- 使用DataRabbit的最佳实践
在DataRabbit 轻量的数据访问框架(12)-- 将DataRabbit融入架构 一文中介绍了如何将DataRabbit与三层架构结合起来,但是,在实际的项目中,每一层是如何使用DataRabbit的了?本文将展示作者在项目中使用DataRabbit的标准做法。
715 0
|
SQL 数据库
DataRabbit 轻量的ORM框架(18)-- 捕获数据库访问异常的详细信息
最新版本的DataRabbit(版本号:V3.2)新增一项重要功能--可以捕获访问数据库时产生的异常的详细信息,包括:异常对象、Sql语句、sql参数的名称和值。这是由IDBOperationLogger接口提供支持的。
849 0
|
.NET 开发框架 SQL
DataRabbit 轻量的数据访问框架(15)-- IOrmAccesser的BatchInsert批量插入!
DataRabbit3.0为ORM访问器提供了批量插入的功能,其方法定义如下:         ///         /// BatchInsert 批量插入一组记录。忽略所有Blob字段。        ///                void BatchInsert(IList entityList);     当我们需要一次性向同一Table中插入大量(如千条以上)的记录时,使用BatchInsert方法可以显著的提供性能。
48761 0
|
SQL .NET 开发框架
DataRabbit 轻量的数据访问框架(14)-- DataRabbit 3.0 与 Linq to sql 性能比较
今天装好了VS2008 Beta2,就迫不及待地试用一下Linq中的ORM功能,在初步尝试后,发现Linq中的ORM还是非常不错的,通过反射查看System.Data.Linq.dll发现,Linq中的ORM是使用反射完成了OR的映射工作,基于此,我开始有点怀疑Linq中的ORM的性能问题。
943 0