oarg–注入构造器的结果集
·id–结果集 ID,将结果集标记为 ID,以方便全局调用
·result–注入一个字段或者 javabean 属性的结果
·association–复杂类型联合;许多查询结果合成这个类型
o
嵌套结果映射
– associations 能引用自身,或者从其它地方引用
·collection–复杂类型集合
o
嵌套结果映射
– collections 能引用自身,或者从其它地方引用
·discriminator–使用一个结果值以决定使用哪个 resultMap
ocase–基于不同值的结果映射
§
嵌套结果映射
–case 也能引用它自身, 所以也能包含这些同样的元
素。它也可以从外部引用 resultMap
è 最佳实践:逐步地生成 resultMap,单元测试对此非常有帮助。如果您尝试一下
子就生成像上面这样巨大的 resultMap,可能会出错,并且工作起来非常吃力。
从简单地开始,再一步步地扩展,并且进行单元测试。使用框架开发有一个缺点,
它们有时像是一个黑合。为了确保达到您所预想的行为,最好的方式就是进行单元
测试。这对提交 bugs 也非常有用。
下一节,我们一步步地查看这些细节。
id, result 元素
<id property="id" column="post_id"/>
<result property="subject" column="post_subject"/>
这是最基本的结果集映射。id 和 result 将列映射到属性或简单的数据类型字段
(String, int, double, Date 等)。
这两者唯一不同的是,在比较对象实例时 id 作为结果集的标识属性。这有助于提高总
体性能,特别是应用缓存和嵌套结果映射的时候 。
Id、result 属性如下:
Attribute Description
property
映射数据库列的字段或属性。如果 JavaBean 的属性与给定的名称匹配,就
会使用匹配的名字。否则,MyBatis 将搜索给定名称的字段。两种情况下您
都可以使用逗点的属性形式。比如,您可以映射到“username”,也可以映
射到“address.street.number”。
column
数 据 库 的 列 名 或 者 列 标 签 别 名 。 与 传 递 给
resultSet.getString(columnName)的参数名称相同。
javaType
完 整 java 类 名 或 别 名 ( 参 考 上 面 的 内 置 别 名 列 表 ) 。 如 果 映 射 到 一 个
JavaBean , 那 MyBatis 通 常 会 自 行 检 测到。然 而 , 如 果 映 射 到 一 个
HashMap,那您应该明确指定 javaType 来确保所需行为。
jdbcType
这 张 表 下 面 支 持 的 JDBC 类 型 列 表 列 出 的 JDBC 类 型 。 这 个 属 性 只 在
insert,update 或 delete 的时候针对允许空的列有用。JDBC 需要这项,
评论0
最新资源