mybatis级联查询返回结果配置

级联业务场景:
比如用户和部门的关系(暂时定义为1对1关系),
即:在用户表User中有部门Dept表的外键dept_id,因此实体类也相对的
在User类中有Dept对象的属性dept,这里就不一一描述了。
那么级联查询,在查询用户信息的时候就需要把用户所属的部门名称信息也列出来;

具体配置:
级联查询配置属于高级查询,因此用到resultMap;

通常配置级联查询有两种方式;

第一种方式:

可以直接使用属性名称关联查询返回,

如下:

直接使用dept.id及dept.departmentName即可。

第二种方式:
可以使用association配置

在resultMap中通过使用association直接指定相关的部门对象,

其中javaType指向的是部门表Dept的类路径

通过以上两种方式,可以组装配置级联查询的返回结果!


反过来,如果是需要查询部门,那么一个部门可以对应多个用户,

因此在Dept的类中有用户集合属性,List<Employee> userList;

那么查询部门Dept的时候同时把相应的迎合也查询出来放到userList中,则可以通过mybatis的collection配置,

如下:

<resultMap id="resultList" type="com.atguigu.mybatis.bean.Dept" >
  <id column="did" property="did" jdbcType="INTEGER" />
  <result column="dept_name" property="deptName" jdbcType="VARCHAR" />
  <collection property="userList" ofType="com.atguigu.mybatis.bean.Employee" />
</resultMap>



  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值