mybatis一对一分段查询(查询员工的同时将部门也查出来,用assocation)

本文介绍如何在SpringBoot应用中使用MyBatis进行一对一分段查询,以获取员工及其对应的部门信息。通过两个SQL查询,首先获取员工,然后根据员工的外键查询部门。在员工实体类中添加部门属性,并在Mapper接口和XML文件中配置相关方法。测试结果显示,可以成功查询所有员工及部门,包括没有部门的员工。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我是springboot整合mybatis测试的

涉及到的表:
在这里插入图片描述
sql: 1.select * from tbl_employee where id=#{id}(用户表的主键id)
2.select *from tbl_dept where id=#{id}(id是部门表的主键id,#{id}随便写)
要用到两条sql,现根据用户id查出用户,再然后根据用户的外键也就是部门id用户的部门
员工实体类中要有部门的实体属性:

	private Department dept;

EmployeeDao这样写:

  Employee  selectEmployeeDept(Integer id);

EmployeeMapper.xml这样写:

  <select id="selectEmployeeDept" resultMap="MyDifEmp">
      <!--1.先查的用户表,根据员工id  -->
      select * from tbl_employee where id=#{id}
      </select>
      <resultMap type="com.cn.entity.Employee" id="MyDifEmp">
      <!-- property:在员工实体中部门实体的属性
           column: 员工表的外键字段,待会儿会传给第二个sql当条件
           select: 第二次sql的查询的id,指向了id=StepSelectDepts
           的查询
       -->
       <association property="dept" column=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值