<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yc123.dao.IStuclassDao">
<!-- 班级实体映射
【type="Stuclass" 】config文件配置的别名 【id="stuclassList"】为该映射取得别名
【column="classNum"】数据库中的列名 【property="classNum"】 实体类中的属性名
【javaType="java.util.List"】集合类型 【resultMap="stuinfoList"】指定集合中元素的数据类型
-->
<resultMap type="Stuclass" id="stuclassList">
<id column="id" property="id" />
<result column="classNum" property="classNum" />
<result column="classTea" property="classTea" />
<collection property="stuinfos" javaType="java.util.List" resultMap="stuinfoList"/>
</resultMap>
<!-- 学生实体映射
<id column="stuId" property="id" /> 当结果集中的列名冲突时-要采取别名的方式命名【column="stuId" 】
切记:外键之间不要重复关联-否则会造成查询死循环
-->
<resultMap type="Stuinfo" id="stuinfoList">
<id column="stuId" property="id" />
<result column="stuName" property="stuName" />
<result column="stuSex" property="stuSex" />
<result column="stuAge" property="stuAge" />
<!-- <association property="stuclass" column="stuClassId"></association> -->
</resultMap>
<!-- 联级查询时SQL需要使用连接查询 -->
<select id="getStuclass" resultMap="stuclassList">
select
sc.id,sc.classNum,sc.classTea,si.id as stuId,si.stuName,si.stuSex,si.stuAge
from
Stuclass as sc
left join
Stuinfo as si
on
si.stuClassId = sc.id
</select>
</mapper>