通過如下語句查詢商品訂單信息:
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>
重新請求后,接口可正確返回列表數據。