ibatisinaction:使用高级查询技术(一)

ibatisinaction:使用高级查询技术(一)

ID:35478036

大小:60.15 KB

页数:7页

时间:2019-03-25

ibatisinaction:使用高级查询技术(一)_第1页
ibatisinaction:使用高级查询技术(一)_第2页
ibatisinaction:使用高级查询技术(一)_第3页
ibatisinaction:使用高级查询技术(一)_第4页
ibatisinaction:使用高级查询技术(一)_第5页
资源描述:

《ibatisinaction:使用高级查询技术(一)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、iBATISInAction:使用高级查询技术(一)本章内容包括o复杂的集合属性O映射关系的继承O语句类型和DDLo处理极大的数据集除了前面两章中我们接触到的简单的数据库操作,iBATIS也可以完成更为复杂的任务。在本章中,我们会了解新的技术,减少我们的编码量;以及改善性能、降低资源消耗(footprint)的儿种方法。6.1使用iBATIS操作XML译者注:iBATIS的Java版本可以操作基于XML的数据。但意义并不是很大,在以后的版本屮该特性可能会被移除。iBATIS.NET则未提供该功能。6.2使用映射语句关联对象i

2、BATIS框架也提供了多种方法用以关联复杂的对象,比如订单(order)和它的订单项(orderitem)(还有它们的相关产品、顾客等等)。每种方法都有其优点和缺点,正所谓“尺有所短,寸有所长”,每一种方案都不是完美的。应根据需要来选择适合的方案。注意:为简短起见,在本章的余下的例子中,我们将省略那些对于演示来说不必要的数据。例如,当我们获取了一个顾客(customer)对象,我们不会获取它的所有字段,而是仅仅获取它的主键和外键。6.2.1复杂的集合属性在第4章中,我们学习了如何使用SELECT语句从数据库获取数据。在那些例

3、子中,我们获取的结果仅仅是单个对象,即使是连接多表也是如此。事实上,如果您有多个复杂对象,也可以使用iBATIS加载它们。如杲我们的应用程序模型与数据模型比较类似,那么这个功能会很有用。可以考虑根据对象的关系(关联)来定义数据模型,然后使用iBATIS将它们一起加载。例如,如果在数据库中,Account记录对应着相关的Order记录,而Order又対应着相关的Orderltem记录,可以为这些记录建立关系,当我们请求一条Account记录时,可以一并获取所有的Order和Orderitem记录。下面的代码清单显示了如何定义我

4、们的SQL映射:

5、roperty=fforderld11column=f,orderldH/>

6、orderltemldH/>selectaccountIdfromAccountselectorderldfromorderswhereaccountld=#value#

7、tlfresultMap=HResultOrderltemMapfl>selectorderld,orderltemldfromorderitemwhereorderid=#value#先来看看结果映射(resultmap,即上面的ResultAccountlnfoMap,ResultOrderInfoMap和ResultOrderltemMap),前两个Map都用到Tselect特性。这个特性告诉iBATIS,属性的值将由另一个映射语句來设置,语句的名称就是select特性的值。例如,我们执行getAcc

8、ountlnfoList语句吋,ResultAccountlnfoMap结果映射有一个子元素:它的作用是告诉iBATIS,acco

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。