结果映射 resultMap
resultMap 标签用于配置 Java 对象的属性和查询结果列的对应关系,通过 resultMap 中配置的 column 和 property 可以将查询列的值映射到 type 对象的属性上。
属性
resultMap 包含的所有属性如下:
id:必填,并且唯一;
当前命名空间中的一个唯一标识,用于标识一个结果映射。
type:必填,类的完全限定名,或者一个类型别名;
用于配置查询列所映射到的 Java 对象的类型。
extends:选填,可以配置当前的 resultMap 继承自其他的 resultMap,属性值为继承的 resultMap 的 id。
继承的 resultMap 可以位于不同的映射文件中,在此种情形下,必须通过 namespace.id 来标识该resultMap(所有需要通过 id 进行标识的属性均可使用这种方式,比如:association 中的 select 和 resultMap)。
autoMapping:选填,可选值为 true 或 false,用于配置是否启用非映射字段(没有在 resultMap 中配置的字段)的自动映射功能,该配置可以覆盖全局的 autoMappingBehavior 配置。
标签
以上是 resultMap 的属性,resultMap 包含的所有标签如下:
constructor:用于在实例化类时,注入结果到构造方法中。
idArg:ID 参数;标记出作为 ID 的结果可以帮助提高整体性能。
arg:将被注入到构造方法的一个普通结果。
id:一个 ID 结果;标记出作为 ID 的结果可以帮助提高整体性能。
result:注入到字段或 JavaBean 属性的普通结果。
association:一个复杂的类型关联,许多结果将包成这种类型。
collection:一个复杂类型的集合。
discriminator:根据结果值来决定使用哪个 resultMap
case:基于某些值的结果映射。
Last updated