基础框架之Database控件(ORM架构)说明

       (文/馒头)
      本篇文章针对数据库操作类进行详细说明,Database控件是仿照iBatis.Net风格开发的一个ORM框架,里面吸收了几个从CodePlex上的开源代码,并在其基础上进行改进。而整个ORM框架则自定义的,直接封装了ADO.Net一些常用的方法,所以整个结构比较明了清晰,方便扩展开发和修改,应用起来更加得心应手。

       本ORM架构对外提供的访问接口类为DataMapper:
       1.参数传递:
        目前只提供两种传递参数的形式,泛型<T>以及哈希表Hashtable。
       2.数据返回类型:
       (1) 泛型集合IList<T>  (注:此处体现了ORM的所在)
       (2)DataTable
       (3)DataSet
       (4)枚举IEnumerable<T> (注:此段代码得益于“老赵”的博文启发)
       (5)自定义的内存记录集IDataReader (注:此段代码直接改自iBatis.Net)
       (6)泛型实体类<T> 
       (7)Object (注:即ExecuteScalar()方法返回值)
       (8)int (注:即 ExecuteNonQuery()方法返回值)
       (9)JSON字符串  (注:方便Ajax开发,自定义的Ajax代码链接< 自定义Ajax控件>)

        以上九种返回类型中,其中,还有根据自定义的PageModel进行的分页数据读取。可更加快速地进行各种分页开发。此外,DataMapper也加入了事务机制,可以很方便地进行数据库事务操作。
       下面为部分数据操作代码:
Hashtable ht  =   new  Hashtable();
DataMapper dm 
=   new  DataMapper( " user " );

// 泛型集合
IList < SysUser >  list  =  dm.GetList < SysUserInfo > ( " SelectTop " , ht);
// 自定义的内存记录集
IDataReader dr  =  dm.GetDataReader( " SelectTop " , ht);

DataTable dt 
=  dm.GetDataTable( " SelectTop " , ht);

DataTable dt 
=  dm.GetDataTable( " SelectTop " , ht);
// 输出Json字符串,与ajax结合使用
string  jsonstr  =  dm.GetJson( " SelectTop " ,ht);

dm.BeginTransaction();
// 开始事务
int  i  =  dm.ExecuteObject ( " Insert " , ht);
dm.Commit();
// 提交事务

// 其他

各種數據讀取方式測試(時間單位:毫秒):
ContractedBlock.gif ExpandedBlockStart.gif Code
測試數據記錄數:1
GetList:9
GetDataReader:0
GetDataTable:1
GetDataSet:1
原版的SqlDataReader:3
原版的DataTable:4

測試數據記錄數:100
GetList:15
GetDataReader:12
GetDataTable:10
GetDataSet:8
原版的SqlDataReader:5
原版的DataTable:11

測試數據記錄數:500
GetList:22
GetDataReader:22
GetDataTable:24
GetDataSet:16
原版的SqlDataReader:21
原版的DataTable:18

測試數據記錄數:1000
GetList:33
GetDataReader:32
GetDataTable:23
GetDataSet:28
原版的SqlDataReader:23
原版的DataTable:33

測試數據記錄數:5000
GetList:130
GetDataReader:133
GetDataTable:147
GetDataSet:240
原版的SqlDataReader:126
原版的DataTable:139

測試數據記錄數:10000
GetList:257
GetDataReader:318
GetDataTable:284
GetDataSet:579
原版的SqlDataReader:243
原版的DataTable:280
     
点此返回: 基于ORM的快速开发框架

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值