查询部门的同时也把用户查出来,一个部门有多个用户所以是一对多的查询用collection集合
实体类和配置文件与上篇博客完全相同
步骤如下:
DeptDao接口:
public interface DeptDao {
List<Dept> selectDeptUsers();
}
DeptMapepr.xml:
<mapper namespace="com.cn.dao.DeptDao">
<!-- 第一步先查部门 -->
<select id="selectDeptUsers" resultMap="selectdepts">
select * from sys_depts
</select>
<!-- 第二步将结果封装到Dept实体中-->
<resultMap type="com.cn.entity.Dept" id="selectdepts">
<!-- 这一步id映射出来是部门id的值-->
<id property="id" column="id" />
<!-- 第三步新建一个查询 select 指向另一个select 标签的id
将查询的结果封装到部门实体的users的属性中 column 指的是部门id-->
<collection property="users" column="id" select="selectUsers">
</collection>
</resultMap>
<select id="selectUsers" resultType="com.cn.entity.User"
parameterType="int">
select *from sys_users where deptId=#{id