和association差不多,就是使用的collection
<mapper namespace="com.mybatis.onetomany.mapper.ClassesMapper">
<resultMap id="studentmap" type="Student">
<id property="id" column="s_id"/>
<result property="name" column="s_name"/>
<result property="sex" column="s_sex"/>
<result property="age" column="s_age"/>
</resultMap>
<resultMap id="classmap" type="Classes">
<id property="id" column="c_id"/>
<result property="name" column="c_name"/>
<collection property="students" resultMap="studentmap" />
</resultMap>
<select id="selectClassAndStudentsById" parameterType="int" resultMap="classmap">
select c.c_id,c.c_name,s.s_id,s.s_name,s.s_sex,s.s_age
from tb_class c left outer join tb_student s
on c.c_id = s.s_c_id
where c.c_id=#{id}
</select>
</mapper>
注意這裏的classes和student的entity類一定要自己加一個無參構造器。
這裏的student的s_c_id是外鍵,class是student的外鍵關聯。
classmap的entity類是有定義student屬性的,resultMap如果沒有定義而要直接指定entity類,使用oftype = “Student”.