- 1、本文档共57页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
IBatisNet教程
iBATIS
iiBBAATTIISS教程
一.iBATIS 官方网站:
一一..iiBBAATTIISS 官官方方网网站站::
目前官方发布的.net部分组件:
DataMapper1.6.1[MD5][PGP](ApacheGeneralAvailability)
DataAccess1.9.1[MD5][PGP](ApacheGeneralAvailability)
SourceRevision513437[MD5][PGP]
二. 前言:
二二.. 前前言言::
iBATIS 框架有助于帮助开发人员在利用Java或.NET进行应用程序开发时更好的使用数据库。iBATIS DataMapper(数据映
射)使用XML文件来存储数据库中的存储过程或者SQL语句,因此,可以说iBATIS DataMapper就是依赖于对象、XML、SQL。
在iBATIS DataMapper框架下,既可以使用SQL基本语句,也可以使用存储过程。iBATIS框架的目标就是用20%的编码达到80%的
数据访问功能。
三. iBATIS DataMapper Version 1.6.0 的改进
三三.. iiBBAATTIISS DDaattaaMMaappppeerr VVeerrssiioonn 11..66..00 的的改改进进
(1)解决了带有groupby 的Select 语句中N+1问题;
(2)通过include/节点标识,增加了对SQL片段的支持
(3)增加了对字典查询IDictionaryK,VQueryForDictionaryK,V(...) 的支持
(4)允许存储过程无参数映射;
(5)删除了几个不再使用的方法:
Configure(XmlDocumentdocument),Configure(),
Configure(stringresource),
ConfigureAndWatch(ConfigureHandlerconfigureDelegate),
ConfigureAndWatch(stringresource,ConfigureHandlerconfigureDelegate)
(6)允许通过扩展ISqlMapper+ ,允许使用自定义ISqlMapper;
(7)允许用户自定义缓存;
(8)原版本中的QueryForPaginatedList 方法不再使用;
四、iBATIS DataMapper 工作流程
四四、、iiBBAATTIISS DDaattaaMMaappppeerr 工工作作流流程程
说明:
(1)参数提供——把一个对象或者一个基本类型作为参数,这些参数用于运行SQL语句或存储过程运行时的参数。如果不需要参数,则可以省
略。
(2)通过参数名称和在XML文档中定义的SQL语句或存储过程的名字执行数据映射,这个地方就是iBATIS的奥妙所在。iBATIS框架负责产生
SQL语句或存储过程,用我们提供的参数设置这些语句的变量值,然后执行语句并返回结果。
(3)在update操作语句中,返回受影响的行数。在查询语句中,返回一个对象或者一个对象集。
举例:
下面给出一个执行“insert”lineItem对象命令代码的基本过程:
(1)
C#
Mapper.Instance().Insert(InsertLineItem,lineItem);
如果数据库中这个对象的表含有主键,则可以获取插入数据的主键值:
C#
intmyKey =Mapper.Instance().Insert(InsertLineItem,lineItem);
(2)与InsertLineItem相关的XML描述文档:
insertid=InsertLineItem parameterClass=LineItem
INSERTINTO[LinesItem]
(Order_Id,LineItem_LineNum, Item_Id,LineItem_Quantity,LineItem_UnitPrice)
VALUES
(#Order.Id#,#LineNumber#,#Item.Id#,#
文档评论(0)