在MyBatis中,如果在resultMap中使用了mapkey屬性,表示將查詢結果的某個字段作為Map的key,而不是作為普通的屬性。這樣就可以將查詢結果集按照指定字段的值分組,方便后續的處理。
例如,可以將查詢結果按照用戶id分組,將每個用戶的信息存放在一個Map中,這樣就可以方便地根據用戶id快速獲取對應的用戶信息。
<resultMap id="userMap" type="User" >
<id property="id" column="id" />
<result property="name" column="name" />
<result property="age" column="age" />
<result property="gender" column="gender" />
<collection property="users" ofType="User" resultMap="userMap" column="user_id" mapkey="id"/>
</resultMap>
在這個示例中,mapkey="id"表示將查詢結果集中的user_id字段作為Map的key,將查詢結果中的User對象作為Map的value,以實現根據user_id分組的效果。