博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iBATIS.net的OR映射篇
阅读量:6692 次
发布时间:2019-06-25

本文共 1575 字,大约阅读时间需要 5 分钟。

相对于Nhibernate复杂的配置文件实现来说,IBatisnet的映射配置更为简单直接,下面我们就
分析一下一个典型的配置文件(Person.xml):

ContractedBlock.gif
Code
说明:

可以看到,映射文件主要分为两个部分:模块配置和statement配置

一、模块配置

1、typeAlias节点定义了本映射文件中的别名,以避免过长变量值的反复书写,此例中通过typeAlias节点为类“IBatisNetDemo.Domain.Person”定义了一个别名“Person”,这样在本配置文件中的其他部分,需要引用“IBatisNetDemo.Domain.Person”类时,只需以其别名替代即可。
2、cacheModel节点
定义了本映射文件中使用的Cache机制:

<
cacheModel 
id
="person-cache"
 implementation
="MEMORY"
 
>
      <
flushInterval 
hours
="24"
/>
      
<
flushOnExecute  
statement
="UpdateAccountViaInlineParameters"
/>
      
<
flushOnExecute  
statement
="UpdateAccountViaParameterMap"
/>
       
<
property 
name
="Type"
 value
="Weak"
/>
 
</
cacheModel
>

CacheModel主要有几个配置节点说明:

ContractedBlock.gif
Code

 这里先声明了一个名为“person-cache”的cacheModel,之后可以在statement声明中对其进行引用:

ContractedBlock.gif
Code

这表明对通过id为SelAllPerson的“Select Statement”获取的数据,使用CacheModel “person-cache”进行缓存。之后如果程序再次用此Satement进行数据查询。即直接从缓存中读取数据,而不需再去数据库查询

3、resultMaps节点
resultMaps实现dotnet实体到数据库字段的映射配置:

ContractedBlock.gif
Code

 二、statement配置

1、Statement配置包含了数个与Sql Statement相关的节点,<statement>元素是一个通用的能够包容任意类型sql的元素。我们可以用更多细节的元素。这些细节元素提供更好的错误检查以及一些更多的功能。(例如,一个插入函数能够返回数据库自动生成的key)。以下表格总结了声明类型元素以及他们的特性和属性。

最后要注意,Person.xml的属性是“嵌入的资源”,不少新手在这上面载了跟头,哎,切肤之痛啊。
2、statement类型对应的sql语句
SqlMap的核心概念是Mapped Statement,Mapped Statement可以使用任意的SQL语句,并拥有Parameter Map(输入) 和Result Map(输出)。要想得到合法的输入输出结果,Sql语句显然是Mapped Statement中最重要的部分。开发人员可以使用对于数据库合法的任意SQL语句.只要在dbms上支持,可能使用任意的函数,甚至是多条语句,这个就比较考验开发人员的数据库基础和sql编写功力了。对于已经习惯使用自动生成sql语句的开发框架的程序员来说确实挺费解的。但是sql也是合格程序员的基本要素之一吧,写写更健康。不过呢,本文不会在sql语句和函数上作任何详细的文字说明,因为这个需要不断实践和积累经验,谁写谁知道啊。

本文转自JeffWong博客园博客,原文链接:http://www.cnblogs.com/jeffwongishandsome/archive/2009/09/06/1531511.html,如需转载请自行联系原作者

你可能感兴趣的文章
配置证书
查看>>
Oracle VM VirtualBox技巧
查看>>
uvm_svcmd_dpi——DPI在UVM中的实现(二)
查看>>
Crimm Imageshop 2.3。
查看>>
SQL AND和OR求值顺序
查看>>
买房必知的五大法律常识 助你安心顺利选房
查看>>
leetcode563
查看>>
剑指Offer 40 最小的k个数
查看>>
winform创建树形菜单的无限级分类
查看>>
面试问题总结
查看>>
HTML特殊转义字符列表
查看>>
2、NIO--缓冲区(Buffer)
查看>>
3、集合--AbstractCollection、AbstractList源码
查看>>
如何较为直观的打印二叉树
查看>>
2014年计划:
查看>>
USACO习题:Broken Necklace
查看>>
打包命令
查看>>
POJ 1679 The Unique MST 【最小生成树/次小生成树模板】
查看>>
什么是动态链接库
查看>>
mysqldump 定时任务 执行后备份的文件为空
查看>>