<foreach> foreach标签可以把传入的集合对象进行遍历,然后把每一项的内容作为参数传到sql语句中.
@ApiModelProperty(value = "商品ID 多个时 使用“,”隔开")
private List<String> prodIds;
注意:这个if判断,集合的size要大于0
<if test="prodIds != null and prodIds.size > 0 ">
and attr.product_id in
<foreach collection="prodIds" item="prodId" index="index" open="(" separator="," close=")">
#{prodId}
</foreach>
</if>
<select id="getStoreProductByIds" resultType="com.yyx.common.response.StoreProductAttrValueResponse"
parameterType="com.yyx.common.request.payerproduct.PayerProductRelationSearchRequest">
SELECT
attr.id, attr.product_id,attr.bar_code,
prod.CODE, attr.spec,
attr.meins, attr.umrez,
attr.vrkme, attr.attr_value,
attr.distr_channel, prod.channel,
prod.product_name, prod.product_info,
prod.sap_meins, prod.is_del,
prod.is_recycle
FROM
eb_store_product prod
LEFT JOIN `eb_store_product_attr_value` attr ON prod.id = attr.product_id
WHERE
attr.is_del = 0
AND prod.is_del = 0
AND prod.is_recycle = 0
AND prod.approve_status = 1
<if test="distrChannelList != null and distrChannelList.size > 0 ">
and attr.distr_channel in
<foreach collection="distrChannelList" item="distrChannel" index="index" open="(" separator="," close=")">
#{distrChannel}
</foreach>
</if>
<if test="prodIds != null and prodIds.size > 0 ">
and attr.product_id in
<foreach collection="prodIds" item="productId" index="index" open="(" separator="," close=")">
#{productId}
</foreach>
</if>
</select>