autoMapping 可以作用在 association 和 resultMap 标签上。联合查询中,一对一关系需要给字段别名,比如 c_xxx,在 association 中添加 columnPrefix,再开启 autoMapping 就可以匹配查询过后的字段:

<resultMap id="mapOfQueryMyself" type="Student" autoMapping="true">
  <association property="college" columnPrefix="c_" javaType="College" autoMapping="true"/>
  <association property="profession" columnPrefix="p_" javaType="Profession" autoMapping="true"/>
  <association property="grade" columnPrefix="g_" javaType="Grade" autoMapping="true"/>
</resultMap>

<select id="queryMyself" resultMap="mapOfQueryMyself">
  SELECT s.*,
         c.cno     c_cno,
         c.name    c_name,
         p.pno     p_pno,
         p.name    p_name,
         p.type    p_type,
         p.edu_sys p_edu_sys,
         p.degree  p_degree,
         p.code    p_code,
         g.gno     g_gno,
         g.name    g_name,
         g.layer   g_layer,
         g.grade   g_grade
  FROM `students` as s
         JOIN `colleges` as c on c.cno = s.college_id
         JOIN `grades` as g on g.gno = s.grade_id
         JOIN `professions` as p on p.pno = s.profession_id
  WHERE s.sno = 1;
</select>