例如下方的嵌套查询,关联字段为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>