mybatisplus使用分页插件时嵌套查询主表关联子表的字段返回为null

例如下方的嵌套查询,关联字段为order_no,主表返回数据中orderNo为null

<resultMap id="OrdersVoMap" type="com.community.web.user.vo.OrdersVo" 
    autoMapping="true">
        <id property="id" column="id"/>
        <collection property="detailVoList" ofType="com.community.web.user.vo.OrderDetailVo" 
select="selectOrderDetailByOrderNo" column="order_no"/>
    </resultMap>
    <select id="pageList" resultMap="OrdersVoMap">
        select o.id,
               o.order_no,
               o.user_id,
               o.total_price,
               o.payment_type,
               o.payment_subtype,
               o.delivery_type,
               o.order_state,
               o.create_time
        from orders o
    </select>
    <select id="selectOrderDetailByOrderNo" resultType="com.community.web.user.vo.OrderDetailVo">
        select od.id,
               od.order_no,
               od.store_no,
               od.goods_no,
               od.goods_amount,
               od.goods_price,
               od.total_price,
               g.goods_name,
               g.goods_picture
        from order_detail od
                 left join goods g on od.goods_no = g.goods_no
        where od.order_no = #{order_no}
    </select>

解决方法: 在resultMap中加一行 <result property="orderNo" column="order_no"/>即可正常映射

 <resultMap id="OrdersVoMap" type="com.community.web.user.vo.OrdersVo" 
        autoMapping="true">
        <id property="id" column="id"/>
        <result property="orderNo" column="order_no"/>
        <collection property="detailVoList" 
ofType="com.community.web.user.vo.OrderDetailVo" 
select="selectOrderDetailByOrderNo" column="order_no"/>
    </resultMap>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值