mybatis查询一个实体类并且附带将该实体类里的引用类也一并查出来

案例:
有一个订单实体类,它里面引用了订单明细类(这里假设一个订单只对应一件商品)

@Data
public class OrderMaster {

    /**订单id*/
    private String orderId;

    /**买家姓名*/
    private String buyerName;

    /**买家电话*/
    private String buyerPhone;

    /**买家地址*/
    private String buyerAddress;

    /**订单总金额*/
    private BigDecimal orderAmount;

    /**订单详情*/
    OrderDetail orderDetail;
}

订单明细类如下:

@Data
public class OrderDetail {

    /**订单详情id*/
    private String detailId;

    /**订单id*/
    private String orderId;
    
    /**商品价格*/
    private BigDecimal productPrice;

    /**商品数量*/
    private Integer productQuantity;
}

现在我想在查询订单实体类的时候,附带把订单明细类也一并查出来。(以前的做法可能是先查询订单实体类,然后根据订单id去查询订单明细类)

方法:

<select id="queryByOrderId" resultType="Order">
    <!--根据id查询Order并携带OrderDetail实体 -->
    <!--如果告诉mybatis,把结果映射到Order的同时,也要映射到OrderDetail属性-->
    select
    a.orderId,
    a.buyerName,
    a.buyerPhone,
    a.buyerAddress,
    a.orderAmount,
    b.detailId "orderDetail.detailId",
    b.orderId "orderDetail.orderId",
    b.productPrice "orderDetail.productPrice",
    b.productQuantity "orderDetail.productQuantity"
    from Order a
    inner join OrderDetail b on a.orderId = b.orderId
    where a.orderId = #{orderId}
</select>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值