91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mybatis分割字符串并循環實現in多個參數的示例分析

發布時間:2021-06-10 10:30:00 來源:億速云 閱讀:593 作者:小新 欄目:開發技術

這篇文章主要為大家展示了“mybatis分割字符串并循環實現in多個參數的示例分析”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“mybatis分割字符串并循環實現in多個參數的示例分析”這篇文章吧。

mybatis分割字符串并循環,實現in多個參數

mybatis xml代碼:

  <select id="selectInXh" resultMap="BaseResultMap" parameterType="java.lang.String">
    select *
    from carinfo
    where
    xh in
 <if test="param1 != null and param1 != ''">
  <foreach item="item" index="index" collection="param1.split(',')" open="(" separator="," close=")">
   #{item}
  </foreach>
 </if>
  </select>

mybatis sql打印:

==>  Preparing: select * from carinfo where xh in ( ? , ? ) 
==> Parameters: 1(String), 2(String)

mybatis多參數使用方法且其中有的參數是多個值使用in查詢

1.當只有一個參數時且參數類型是List

List<AnalysisInfo> listInfo(@Param("orderIds") List<Integer> orderIds);

我這里對參數重命名為"orderIds",所以下面foreach中collection="orderIds",如果未重命名則foreach中collection="list"

<select id="listInfo" resultType="com.ieou.retail.module.H5.dto.AnalysisInfo">
       select materials_name as materialsName,sum(num) as totalNum,
       sum(price) as totalSale
       from sales_order_detail
       where shipment_result = 'SUCCESS' and refunds_time is null
       and sales_order_id in
       <foreach collection="orderIds" index="index" item="item" open="(" separator="," close=")">
           #{item}
      </foreach>
      group by materials_id order by totalNum desc limit 5
  </select>

2. 當只有一個參數時且參數類型是Array

List<AnalysisInfo> listInfo(Long[] orderIds);

如果參數類型是Array則collection屬性為array

<select id="listInfo" resultType="com.ieou.retail.module.H5.dto.AnalysisInfo">
       select materials_name as materialsName,sum(num) as totalNum,
       sum(price) as totalSale
       from sales_order_detail
       where shipment_result = 'SUCCESS' and refunds_time is null
       and sales_order_id in
       <foreach collection="array" index="index" item="item" open="(" separator="," close=")">
           #{item}
      </foreach>
      group by materials_id order by totalNum desc limit 5
  </select>

3.注意當查詢的參數有多個時,例如

List<AnalysisInfo> listInfo(List<Integer> orderIds, Integer num);

這種情況下傳參要使用Map方式,這樣在collection屬性可以指定名稱

Map<String, Object> params = new HashMap<>();
params.put("orderIds",orderIds);
params.put("num",num);
List<AnalysisInfo> listInfo(params);

XML如下:

<select id="listInfo" resultType="com.ieou.retail.module.H5.dto.AnalysisInfo">
    select materials_name as materialsName,sum(num) as totalNum,
    sum(price) as totalSale
    from sales_order_detail
    where shipment_result = 'SUCCESS' and refunds_time is null and num = #{num}
    and sales_order_id in
    <foreach collection="orderIds" index="index" item="item" open="(" separator="," close=")">
        #{item}
    </foreach>
    group by materials_id order by totalNum desc limit 5
</select>

以上是“mybatis分割字符串并循環實現in多個參數的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

璧山县| 闸北区| 柏乡县| 旺苍县| 小金县| 乐山市| 虎林市| 绥棱县| 若尔盖县| 西充县| 沛县| 榕江县| 南京市| 微博| 株洲市| 怀安县| 澄城县| 安庆市| 开平市| 同仁县| 哈尔滨市| 岳池县| 兴仁县| 华阴市| 仙游县| 绩溪县| 青州市| 泌阳县| 遂平县| 临邑县| 登封市| 兰溪市| 苏尼特右旗| 桐梓县| 宁乡县| 龙南县| 乌审旗| 榆林市| 万宁市| 句容市| 彩票|