zoukankan      html  css  js  c++  java
  • 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>

     

    重新请求后,接口可正确返回列表数据。

     

     

     

  • 相关阅读:
    一个Bean属性拷贝的工具类
    java Integer parseInt()
    sql 预编译 in
    显著性图谱的评价
    如何优雅的在MFC中使用cvSetMouseCallback?
    为MFC界面添加一个Log Window
    最大流算法统计
    2014年秋 求职总结
    图论的常用算法
    常用的排序算法
  • 原文地址:https://www.cnblogs.com/fengpingfan/p/10863520.html
Copyright © 2011-2022 走看看