List是对象
相同的字段取别名
List是基本类型
@Data
public class SpuDetailDO extends SpuDO {
private String categoryName;
private String sketchSpecKeyName;
private String defaultSkuTitle;
private List<String> spuImgList;
private List<String> spuDetailImgList;
}
<resultMap autoMapping="true" id="DetailResultMap" type="io.github.talelin.latticy.model.SpuDetailDO">
<id column="id" property="id"/>
<collection property="spuImgList" ofType="java.lang.String">
<constructor>
<arg column="spu_img"/>
</constructor>
</collection>
<collection property="spuDetailImgList" ofType="java.lang.String">
<constructor>
<arg column="detail_img"/>
</constructor>
</collection>
</resultMap>
<select id="getDetail" resultMap="DetailResultMap">
SELECT s.*,
sku.title AS default_sku_title,
c.name AS category_name,
sk.name AS sketch_spec_key_name,
si.img AS spu_img,
sdi.img AS detail_img
FROM spu s
LEFT OUTER JOIN sku ON sku.id = s.default_sku_id
LEFT OUTER JOIN category c ON c.id = s.category_id
LEFT OUTER JOIN spec_key sk ON sk.id = s.sketch_spec_id
LEFT OUTER JOIN spu_img si ON si.spu_id = s.id
LEFT OUTER JOIN spu_detail_img sdi ON sdi.spu_id = s.id
WHERE s.id = #{id}
AND s.delete_time IS NULL
</select>