一对多关系,比如说根据id查询一个部门的部门信息及部门下的员工信息
在Dept类中先添加List emps属性
1、collection
DeptMapper.xml文件中
<resultMap id="deptAndEmpResultMap" type="Dept">
<id property="did" column="did">id>
<result property="deptName" column="dept_name">result>
<collection property="emps" ofType="Emp">
<id property="eid" column="eid">id>
<result property="empName" column="emp_name">result>
<result property="age" column="age">result>
<result property="sex" column="sex">result>
<result property="email" column="email">result>
collection>
resultMap>
<select id="getDeptAndEmp" resultMap="deptAndEmpResultMap">
select * from t_dept left join t_emp on t_dept.did=t_emp.did where t_dept.did=#{did}
select>
2、分布查询
DeptMapper.xml文件中:
<resultMap id="deptAndEmpByStepResultMap" type="Dept">
<id property="did" column="did">id>
<result property="deptName" column="dept_name">result>
<collection property="emps"
select="com.atguigu.mybatis.mapper.EmpMapper.getDeptAndEmpByStepTwo"
column="did"
fetchType="eager">collection>
resultMap>
<select id="getDeptAndEmpByStepOne" resultMap="deptAndEmpByStepResultMap">
select * from t_dept where did=#{did}
select>
EmpMapper.xml文件中:
<select id="getDeptAndEmpByStepTwo" resultType="Emp">
select * from t_emp where did=#{did}
select>