ClassesMapper.xml:
<resultMap type="Classes" id="classesMap">
<id property="id" column="c_id" javaType="int"/>
<result property="name" column="c_name" javaType="String"/>
<!-- <association property="teacher" javaType="Teacher" >
<id property="id" column="t_id" javaType="int"/>
<result property="name" column="t_name" javaType="String"/>
<result property="age" column="t_age" javaType="int"/>
</association> -->
<association property="teacher" javaType="Teacher" resultMap="com.lsj.test.mybatis.mapper.TeacherMapper.teacherMap" ></association>
<collection property="studentList" ofType="Student" resultMap="com.lsj.test.mybatis.mapper.StudentMapper.studentMap" ></collection>
</resultMap>
<sql id="selectAllClassesSql">
SELECT
c.id as c_id,c.name as c_name,teacher_id,
t.id as t_id,t.name as t_name,t.age as t_age,
s.id as stu_id,s.name as stu_name,s.classes_id
from classes c,teacher t,student s
</sql>
TeacherMapper.xml的resultMap:
<resultMap type="Teacher" id="teacherMap">
<id property="id" column="t_id" javaType="int"/>
<result property="name" column="t_name" javaType="String"/>
<result property="age" column="t_age" javaType="int"/>
</resultMap>
利用命名空间+resultMapID就可以直接引用其他Mapper文件的resultMap,其中resultMap的column在本文件中也有用,也可以对应sql语句中的column别名。