看实例学spring.net--data access中的对象

1. rowcallback
RowCallback一般是个有状态的对象,或是用它来填充调用代码中某个有状态的对象
2.commandcallback
commandcallback用于执行一个command对象,返回执行的结果
3.Rowmapper
IRowMapper可以让开发人员专注于如何将结果集中的一行映射为一个对象。框架会负责使用IDataReader进行迭代并创建一个IList来保存结果对象
4.StoredProcedure
StoredProcedure类可以用非常少的代码调用存储过程并返回调用结果。
5.QueryForObject
执行一个查询,使用IRowMapper将结果映射到一个对象中。如果查询返回的结果不是一行,就会抛出异常。
6.ResultSetExtractor
IResultSetExtractor将结果集映射到一个对象中。 其重载允许指定多个结果集“处理器”来处理多个结果集并返回output参数。 操作DataTable和DataSet:
ResultSetExtractor类可以控制IDataReader查询结果的迭代方式。开发人员负责迭代所有结果集并返回对应的结果对象。IResultSetExtractor的实现类一般是无状态的,所以只要没有访问有状态的资源就可以一直重用它。框架会负责关闭IDataReader。

QueryWithResultSetExtractor:执行一个查询,利用IResultSetExtractor接口的实现类将结果集映射到对象中。
QueryWithRowCallback:执行一个查询,并为结果集中的每一行调用IRowCallback接口的实现类。QueryWithRowMapper:执行一个查询,并利用IRowMapper接口的实现类将结果集进行逐行映射。如何来区别以上三个对象,看下面三句话能够帮助理解:

IResultSetExtractor/ResultSetExtractorDelegate:传递一个IDataReader对象,开发人员可以利用该对象迭代数据并返回结果对象。

IRowCallback/RowCallbackDelegate:传递一个IDataReader对象,可用于处理当前行。返回值为void,因此在实现IRowCallback接口时一般将类实现为有状态的(按:也就是说实现类需要定义自己的字段来保存回调的结果),在使用匿名委托时,一般用本地变量来保存回调的结果。

IRowMapper/RowMapperDelegate:传递一个IDataReader对象,用以处理当前行并返回一个对应于当前行的对象。

转载于:https://www.cnblogs.com/baixingfa/archive/2008/06/12/1218119.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值