1.问题描述
我有一个班级,班级里有很多学生,我需要一个查询把班级和学生信息查出来,怎么查?
这里有个问题,就是我班级的命名和学生的命名可能重了。
例如:
class Gradle{
private String id;
private String name;
private String code;
private List<Student> stu;
...
}
Class Student{
private String id;
private String name;
....
}
2.就上述情况还不好查,怎么整呢,这个就用<collection>标签
但是咱们的collection用的时候要注意select和resultMap两个不要同时用
上一个查询吧
<resultMap id="GradleResultMap" type="com.demo.Gradle"><result property="id" column="id"/><result property="name" column="name"/><result property="code" column="code"/>...<!-- 关联查询companyVos列表 --><collection property="stu" ofType="com.demo.Student" column="id"select="selectUserById"/> </resultMap>
<select id="getGradleById" resultMap="GradleResultMap" parameterType="java.lang.String">SELECT *FROM gradleWHERE id = #{id} </select>
<select id="getGradleById" resultType="com.demo.Student" parameterType="java.lang.String">
SELECT *
FROM gradle_student gs
JOIN student st on gs.student_id =st.id
WHERE student_id = #{id}
</select>
当然你也可以一次性查出来然后处理