MyBatis-一对多查询

本文介绍了一对多查询的需求背景及其SQL实现方式,并详细解析了如何使用MyBatis的resultMap来处理一对多关系的数据映射。通过具体的mapper.xml配置示例,展示了如何将查询结果映射到Java对象。

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

一对多查询
 
1.1 需求
查询所有订单信息及订单下的订单明细信息。
 
1.2 sql语句
主查询表:订单表
关联查询表:订单明细
SELECT
  orders.*,
  user.username,
  user.sex ,
  orderdetail.id orderdetail_id,
  orderdetail.items_num,
  orderdetail.items_id
FROM
  orders,
  USER,
  orderdetail
WHERE orders.user_id = user.id  AND orders.id = orderdetail.orders_id
 
1.3 resultMap进行一对多映射思路
resultMap 提供collection完成关联信息映射到集合对象中。
orders类中创建集合属性:
 
1.4 mapper.xml
 
1.5 resultMap定义
因为上面sql也查询了用户信息,所以为了resultMap配置得简单点,可以继承上面一对一查询案例的resultMap,这样子就只配置关联的订单明细就行了。
ofType:可以别名,也可以是全限定名,以后统一用全限定名,比较好
 
1.6 mapper.java

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值