queryWrapper写内联接,多表查询
-根据预约id查询预约信息,包括体检人信息、套餐信息隐式内联接-->
文章共225字 · 阅读需要大约1分钟
一键AI生成摘要,助你高效阅读
问答
·
LambdaQueryWrapper<Order> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.select(Order::getOrderDate, Order::getOrderType,
Member::getName, Setmeal::getName)
.eq(Order::getId, id)
.eq(Member::getId, Order::getMemberId)
.eq(Setmeal::getId, Order::getSetmealId);
Map<String, Object> orderMap = orderService
.listMaps(queryWrapper)
.stream()
.findFirst()
.orElse(null);
return orderMap;
<!--根据预约id查询预约信息,包括体检人信息、套餐信息 隐式内联接-->
<select id="findById4Detail" parameterType="int" resultType="map">
select m.name member ,s.name setmeal,o.orderDate orderDate,o.orderType orderType
from
t_order o,
t_member m,
t_setmeal s
where o.member_id=m.id and o.setmeal_id=s.id and o.id=#{id}
</select>
QueryWrapper<Order> queryWrapper = new QueryWrapper<>();
queryWrapper.select("m.name as member", "s.name as setmeal", "o.orderDate", "o.orderType")
.eq("o.id", id)
.innerJoin("t_member m", "m.id = o.member_id")
.innerJoin("t_setmeal s", "s.id = o.setmeal_id");
List<Map<String, Object>> orderMaps = orderService.listMaps(queryWrapper);
// 转换成单个 Map 对象
Map<String, Object> orderMap = orderMaps.stream().findFirst().orElse(null);
return orderMap;
更多推荐
已为社区贡献4条内容
所有评论(0)