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


通過如下語句查詢商品訂單信息:

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

 

在 Mapper.java 中定義如下接口:

List<GoodsOrder> findGoodsOrderByIds(String ids);

 

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

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

 

在執行請求時,發現接口總是返回一條數據,無法返回所有的數據信息。

 

 

解決方法:

在 Mapper.java 中定義如下接口:

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>

 

 

重新請求后,接口可正確返回列表數據。

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM