- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
iBATIS In Action:使用映射语句(一)
上一篇: iBATIS In Action:iBATIS的安装和配置;在前面的章节中,我们了解了iBATIS的sqlMap.config文件的配置,还给出了一个映射语句文件的示例。现在您应该具备了一定基础,可以进一步完善我们的数据访问层了。
本章和下一章(执行非查询语句)将详细讨论在Data Map文件中创建和使用映射语句的相关内容。在本章中,我们将首先浏览映射语句的大体内容以及它们的前提知识。然后我们将解释如何使用映射语句从数据库中获取类型化的对象(typed object),以及如何传入参数来限制返回的数据(比如添加查询条件)。在第五章中,您将学习到如何使用映射语句来更新数据库。
4.1 使用基础
4.1.1 创建JavaBeans
译注:原书中本节的内容主要是关于JavaBeans的,相关术语与.NET中差别较大,因此略过,这里只给出一些基本的术语。
JavaBeans:按Sun的定义,JavaBeans是一种Java语言编写的可复用的组件。JavaBeans是一个Java类,它定义了一些属性,可以通过事件与其它Beans进行通信。
POJO:即Plain Old Java Object,引用Martin Fowler的话来说明POJO的定义:
“Ive come to the conclusion that people forget about regular Java objects because they havent got a fancy name - so while preparing for a talk Rebecca Parsons, Josh Mackenzie and I gave them one: POJO (Plain Old Java Object). A POJO domain model is easier to put together, quick to build, can run and test outside of an EJB container, and isnt dependent on EJB (maybe thats why EJB vendors dont encourage you to use them.)”
POCO:即Plain Old CLR Object。在.NET中,POJO就不再适用了,那么把Java替换为CLR,就是POCO了(我只在某篇文章中看到过,在网上搜不到的…)。
Domain Object:领域对象,这是一个很有争议的词。前段时间园子里曾就此发生过激烈的争论,另外在javaeye上也有一篇关于它的讨论,相信很多人都看过了。
通过Martin Fowler的话,我们可以看到POJO的来由,它提供了一个”标准”术语,使得人们对此类对象有了清楚的认识,并且开发人员在讨论问题时找到了”共同语言”。.NET中也需要这样的术语,所以在翻译过程中,我将POJO都对应于POCO。
另外,在使用iBATIS操作数据库时,对象的属性(Property)显得尤为重要。这里提一点,注意属性的命名规范,建议使用Pascal case(Java中使用Camel case)。
4.1.2 SqlMap的API
在对JavaBeans有所理解之后,我们将开始查看iBATIS提供的API。ISqlMapper接口有30多个方法,我们将在后面的章节中一一了解。现在,先来看看本章将要用到的几个。
QueryForObject()方法
QueryForObject()方法用于从数据库中获取单行数据,并将其转换为C#对象,它共有4种签名:
object?QueryForObject(string?statementName,?object?parameterObject);object?QueryForObject(string?statementName,?object?parameterObject,?object?resultObject);T?QueryForObjectT(string?statementName,?object?parameterObject);T?QueryForObjectT(string?statementName,?object?parameterObject,?T?instanceObject);
首先可以把它们分为两种:泛型和非泛型。每一种又分别有两个版本,第一个版本更为常用,它会使用默认构造函数创建一个新的对象返回(否则会在运行时抛出异常);第二个版本接受一个对象将其作为返回值——在执行映射语句后,会设置它的相应属性,而不是创建新的对象。
如果我们要使用的对
文档评论(0)