mybatis用分段查询的方式实现一对多查询(查询部门的同时也把用户查出来)

本文介绍了如何在MyBatis中使用分段查询实现一对多的关系,例如查询部门时同时获取其关联的多个用户。通过在DeptDao接口和Mapper.xml配置,以及测试代码,展示了如何利用部门ID作为关联键进行两次查询,将结果分别封装到部门和用户实体中。
摘要由CSDN通过智能技术生成

查询部门的同时也把用户查出来,一个部门有多个用户所以是一对多的查询用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
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值