[置顶] Mybatis(六)-结果集映射

ResultMap

一个最简单的ResultMap

   
<resultMap type="Student" id="StudentResult">
        <id property="studId" column="stud_id" />
        <result property="name" column="name" />
        <result property="email" column="email" />
        <result property="dob" column="dob" />
        <result property="phoneNumber" column="phone"/>
    </resultMap>
<result>子元素被用来将一个resultset列映射到JavaBean的一个属性中。
<id>元素和<result>元素功能相同,不过它被用来映射到唯一标识属性。用来区分和比较对象。
在我们的<select>语句中,我们使用了resultMap属性,而不是resultType。在使用的时候配置了resultMap属性,MyBatis会使用此数据库列名与对象属性映射关系来填充JavaBean中的属性。

resultType和resultMap二者选其一

扩展ResultMap

我们可以从从另外一个<resultMap>,拓展出一个新的<resultMap>,这样,原先的属性映射可以继承过来
<resultMap type="Student" id="StudentResult">
<id property="studId" column="stud_id" />
<result property="name" column="name" />
<result property="email" column="email" />
<result property="phone" column="phone" />
</resultMap>
<resultMap type="Student" id="StudentWithAddressResult" extends="StudentResult">
<result property="address.addrId" column="addr_id" />
<result property="address.street" column="street" />
<result property="address.city" column="city" />
<result property="address.state" column="state" />
<result property="address.zip" column="zip" />
<result property="address.country" column="country" />
</resultMap>
上面使用extends进行了Map扩展,使用方式也是差不多。

你可能感兴趣的:([置顶] Mybatis(六)-结果集映射)