和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”.