本文小編為大家詳細介紹“mybatis多個區間怎么處理”,內容詳細,步驟清晰,細節處理妥當,希望這篇“mybatis多個區間怎么處理”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
如圖:要實現車輛數不同區間查詢條件

a.前端傳數組,數組里面放"1-5"String類型值
b.后端mybatis用雙foreach循環解析
后端代碼如下:
<!--圖例車輛數區間-->
<if test="countCargoList != null and countCargoList.size>0" >
and (
<foreach item="item" index="index" collection="countCargoList">
(
<foreach item="item2" index="index2" collection="item.split('-')">
<if test="index2%2==0">
sfi.count_cargo >= #{item2}
</if>
<if test="index2%2==1">
and sfi.count_cargo <= #{item2}
</if>
</foreach>
)
<!--最后一次不用加or-->
<if test="index != countCargoList.size-1" >
or
</if>
</foreach>
)
</if>

1、多個表的數據一起刪除的時候,有的時候不會建立外鍵,但主表的關聯 表很多的時候,可以直接利用mybatis 進行多表刪除。
mybatis 中多個foreach 循環,第一次循環的collection 看到的值是一個(數組、list、map、對象,由collection的配置主導)。
第二次foreach 是直接copy第一個foreach的對象值,這個時候會一直累加對象。
數組為例
dao層去掉@Param注解
void batchDeleteSysTransferRegist(String rowData[]);
mybatis
<delete id="batchDeleteSysTransferRegist" parameterType="string">
delete from sys_transfer_regist_item where transfer_regist_id in
<foreach item="rowData" collection="array" open="(" separator="," close=")">
#{rowData}
</foreach>
;delete from sys_transfer_regist_piece where transfer_regist_id in
<foreach item="rowData1" collection="array" open="(" separator="," close=")">
#{rowData1}
</foreach>
......
</delete>切記;隔開。
讀到這里,這篇“mybatis多個區間怎么處理”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。