通过如下语句查询商品订单信息:
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>
重新请求后,接口可正确返回列表数据。