iBATIS In Action:使用高级查询技术(一).doc

iBATIS In Action:使用高级查询技术(一).doc

ID:28098964

大小:78.00 KB

页数:8页

时间:2018-12-08

iBATIS In Action:使用高级查询技术(一).doc_第1页
iBATIS In Action:使用高级查询技术(一).doc_第2页
iBATIS In Action:使用高级查询技术(一).doc_第3页
iBATIS In Action:使用高级查询技术(一).doc_第4页
iBATIS In Action:使用高级查询技术(一).doc_第5页
资源描述:

《iBATIS In Action:使用高级查询技术(一).doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

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

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

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

4、并获取所有的Order和OrderItem记录。下面的代码清单显示了如何定义我们的SQL映射:        

5、        

6、lass="OrderItem">            select accountId from Account

7、 id="getOrderInfoList" resultMap="ResultOrderInfoMap">    select orderId from orders    where accountId = #value#    select orderId, orderItemId from orderItem    where orderid = #va

8、lue#先来看看结果映射(resultmap,即上面的ResultAccountInfoMap,ResultOrderInfoMap和ResultOrderItemMap),前两个Map都用到了select特性。这个特性告诉iBATIS,属性的值将由另一个映射语句来设置,语句的名称就是select特性的值。例如,我们执行getAccountInfoList语句时,ResultAccountInfoMap结果映射有一个子元素:

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

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

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