Java學習-054-Mybatis IN查詢,經過 foreach 獲取列表數據

經過以下語句查詢商品訂單信息:java

SELECT * FROM goods_order WHERE del = 0 AND id IN (1004,1094,1120,1409)

 

在 Mapper.java 中定義以下接口:app

List<GoodsOrder> findGoodsOrderByIds(String ids);

 

在 Mybatis 對應的 Mapper.xml 中進行以下配置:spa

<select id="findGoodsOrderByIds" resultType="com.fanfengping.GoodsOrder">
    SELECT * FROM goods_order WHERE del = 0 AND id IN (#{ids})
</select>

 

在執行請求時,發現接口老是返回一條數據,沒法返回全部的數據信息。code

 

 

解決方法:xml

在 Mapper.java 中定義以下接口:blog

List<GoodsOrder> findGoodsOrderByIds(List<String> ids);

 

在 Mybatis 對應的 Mapper.xml 中進行以下配置:接口

<select id="findGoodsOrderByIds" parameterType="java.util.List" resultType="com.fanfengping.GoodsOrder">
    SELECT * FROM goods_order WHERE del = 0 AND id IN
    <foreach collection="list" index="index" item="item" open="("
            separator="," close=")">
        #{item}
    </foreach>
</select>

 

 

從新請求後,接口可正確返回列表數據。it

相關文章
相關標籤/搜索