<!-- collection:分步查询 -->
<resultMap type="com.mybatis.bean.Department" id="MyDeptStep">
<id c加粗样式olumn="id" property="id"/>
<id column="dept_name" property="departmentName"/>
<collection property="emps"
select="com.mybatis.dao.EmployeeMapperPlus.getEmpsByDeptId"
column="id"></collection>
</resultMap>
<!-- public Department getDeptByIdStep(Integer id); -->
<select id="getDeptByIdStep" resultMap="MyDeptStep">
select id,dept_name from tbl_dept where id=#{id}
</select>
一对多查询,使用PageHelper插件进行分页
<!-- public List<Employee> getEmpsByDeptId(Integer deptId); -->
<select id="getEmpsByDeptId" resultType="com.atguigu.mybatis.bean.Employee">
select * from tbl_employee where d_id=#{deptId}
</select>
先通过部门表的id查出部门信息,再通过员工表的部门id查出所有的员工信息,也就是Department中的private List emps;的属性信息
DepartmentMapper.xml:首先通过id="getDeptByIdStep"的sql查出部门信息
再通过collection中的 **select=“com.mybatis.dao.EmployeeMapperPlus.getEmpsByDeptId”**调用EmployeeMapper.xml中的查询语句,**column=“id”**为传递的查询条件的值,也就是将这个值赋给EmployeeMapper.xml中的#{deptId}
最后呢,也就是将查询到的员工信息,即多条Employee记录封装给Department的emps属性