我们发现,当xml文件设置返回值类型为实体类时,会默认查询结果是一个list,此时mapper 中的接口应该使用list接受,如果使用单个对象接受会报错:
List<GoodsVo> findGoodsVo();
GoodsVo findGoodsVoByGoodsId(Long GoodsId);//报错
<select id="findGoodsVo" resultMap="goodsVoMap">
select
g.id,g.goods_name,g.goods_img,g.goods_detail,g.goods_price,g.goods_stock,
sg.seckill_price,sg.stock_count,sg.start_date,sg.end_date
from
t_goods g
LEFT JOIN
t_seckill_goods as sg on g.id=sg.goods_id
</select>
<select id="findGoodsVoByGoodsId" resultMap="goodsVoMap" >
select distinct
g.id,g.goods_name,g.goods_img,g.goods_detail,g.goods_price,g.goods_stock,
sg.seckill_price,sg.stock_count,sg.start_date,sg.end_date
from
t_goods g
LEFT JOIN
t_seckill_goods as sg on g.id=sg.goods_id
where
g.id = #{goodsId}
</select>