ResultMap功能:将select statement查询结果映射为java实力对象。

RestultMap属性:

id:resultmap标签的标识;
type:返回值的全限定类名;
autoMapping属性:设为true则自动查找与字段名小写同名的属性名,并调用setter
方法;设为false则需要在resultmap内明确映射关系才会调用对应的setter方法。

ResultMap子元素:

id:用于设置主键字段与领域模型属性的映射关系;
result:用于设置普通字段与领域模型属性的映射关系;
constructor:使用指定参数列表的构造函数来实例化领域模型,其子元素顺序必须与
参数列表顺序对应。
    idArg:标记该入参为主键;
    arg:标记该入参为普通字段;
举例如下:

<resultMap id="student" type="Student">
    <constructor>
        <idArg column="ID">
        <arg column="NAME">
    </constructor>
</resultMap>
discriminator标签:实现动态映射关系的设置;
举例如下:

<resultmap id="student" type="Student">
    <id column="id" property="id"/>
    <result column="name" property="name"/>
    <discriminator column="sex">
       <case value="1" resulttype="man"/>
       <case value="0" resulttype="woman"/>
    </discriminator>
</resultmap>

ResultMap的继承:

一个resultmap可以通过extends继承另外一个resultmap.举例如下:
<resultmap id="student" type="Student">
    ......
</resultmap>

<resultmap id="studentwithaddress" type="StudentAddress"     
extends student>
    ......
</resultmap>



haofengpingjieli
97 声望5 粉丝

好风凭借力送我上青云