多对多:一对多: <collection property="classesList" javaType="ArrayList" ofType="com.example.demo.entity.Classes">
 </collection>
<select id="getTeacherClasses" resultMap="TeacherClasses">
   select distinct teacher.id as tid,teacher.name as tname,class.id as cid,class.name as cname
          from teacher left join teacherclass on teacher.id=teacherclass.tid
                       left join class on teacherclass.cid=class.id
</select>
<resultMap id="TeacherClasses" type="com.example.demo.entity.Teacher">
    <result property="id" column="tid"></result>
    <result property="name" column="teacher.name"></result>
    <collection property="classesList" javaType="ArrayList" ofType="com.example.demo.entity.Classes">
        <result property="id" column="cid"></result>
        <result property="name" column="cname"></result>
    </collection>
</resultMap>
多对一:一对一: <association property="classes" javaType="com.example.demo.entity.Classes">
</association>
<select id="headClass" resultMap="headClass">
    SELECT headteacher.id as hid,headteacher.name as hname,class.id as cid,headclass.classname as cname
    from headteacher left join  headclass on headteacher.name=headclass.headname
    LEFT JOIN class on headclass.classname=class.name
</select>
<resultMap id="headClass" type="com.example.demo.entity.HeadTeacher">
    <result property="id" column="hid"></result>
    <result property="name" column="hname"></result>
    <association property="classes" javaType="com.example.demo.entity.Classes">
        <result property="id" column="cid"></result>
        <result property="name" column="cname"></result>
    </association>
</resultMap>