Mybatis中foreach的三種用法
foreach一共有List,array,Map三種類型的使用場景。
foreach的主要用在構建in條件中,它可以在SQL語句中進行迭代一個集合。
- item表示集合中每一個元素進行迭代時的別名,
- index指定一個名字,用於表示在迭代過程中,每次迭代到的位置,
- open表示該語句以什麼開始,
- separator表示在每次進行迭代之間以什麼符號作為分隔 符,
- close表示以什麼結束。
1.List型別插入:
<insert id="batchInsertClientDeviceList" parameterType="java.util.List" > INSERT INTO t_client_device_list (order_no,mac_id,client_code,status,order_time) <foreach collection="list" item="item" index="index" separator="union all"> select #{item.orderNo, jdbcType=VARCHAR},#{item.macId, jdbcType=VARCHAR} from dual </foreach> </insert>
1.1List型別查詢:
<select id="getClientDeviceList" parameterType="java.util.List" resultType="Device">
select * from t_devices where id in
<foreach collection="list" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</select>
2.引數array型別查詢:
<select id="getClientDeviceList" parameterType="java.util.ArrayList" resultType="Device">
select * from t_devices where id in
<foreach collection="array" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</select>
3.引數Map型別查詢:
map中存放了一個元素key為ids,value為List<String>用於id in的條件
<select id="getClientDeviceList" parameterType="java.util.HashMap" resultType="Device">
select * from t_devices where mac like "%"#{mac}"%" and id in
<foreach collection="ids" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</select>
相關推薦
mybatis中的三種 批量操作資料的方法
方法1: 使用for迴圈在java程式碼中insert (不推薦) 方法2: 使用在Mapper.xml當中使用 foreach迴圈的方式進行insert PersonDao.java檔案 publi
mybatis 中 foreach collection的三種用法
app key bsp arr onf array數組 自己 構建 符號 轉載:http://blog.sina.com.cn/s/blog_b0d90e8c0102v1q1.html 傳參參考:http://www.cnblogs.com/ruiati/p/6410339
Mybatis中foreach的三種用法
foreach一共有List,array,Map三種類型的使用場景。 foreach的主要用在構建in條件中,它可以在SQL語句中進行迭代一個集合。 item表示集合中每一個元素進行迭代時的別名, index指定一個名字,用於表示在迭代過程中,每次迭代到
foreach中collection的三種用法
tor 不同 多個 list() new lis fin pre href 轉載:http://blog.sina.com.cn/s/blog_b0d90e8c0102v1q1.html 傳參參考:http://www.cnblogs.com/ruiati/p/641033
mybatis 傳入引數及其 foreach collection的三種用法
參考: foreach標籤主要用於構建in條件,它可以在sql中對集合進行迭代,通常可以將之用到批量刪除、新增等操作中,示例如下: <delete id="deleteBatch"> delete from user where id
Linux Shell中有三種引號的用法
containe ubunt ref highlight 處理 alt 返回 cin test Linux Shell中有三種引號,分別為雙引號(" ")、單引號(‘ ‘)以及反引號(` `)。 其中雙引號對字符串中出現的$、‘‘、`和\進行替換;單引號不進行替換,將字符串
C#中“?”有三種用法
c 1、可空類型修飾符(?):引用類型可以使用空引用表示一個不存在的值,而值類型通常不能表示為空,例如:string str=null;是正確的。int i=null;編譯器將報錯。為了使值類型也可為空,可空類型出現了,可空類型使用可空類型修飾符?來表示,表現形式為T?。例:int?表示是可空的整形,Date
JAVA中this的三種用法的詳解
enc 所有 其它 println 用途 詳細介紹 示例 一次 調用構造 this關鍵字必須放在非靜態方法裏面 this關鍵字代表自身,在程序中主要的使用用途有以下幾個方面: 使用this關鍵字引用成員變量 使用this關鍵字在自身構造方法內部引用其它構造方
mybatis中foreach用法
在SQL語句中,foreach可以對陣列,Map或者實現了Iterable介面的物件進行遍歷, foreach包含以下屬性: collection:必填,值為要迴圈的屬性名,預設為list item:變數名,值為迭代物件中取出的每一個值。 index:索引的屬性名,在集合陣列情況下值
Python擴充套件庫numpy中where()函式的三種用法 Python擴充套件庫numpy中where()函式的三種用法
原 Python擴充套件庫numpy中where()函式的三種用法 2018年06月25日 07:43:56 Python_小屋 閱讀數:1000
mybatis 中 foreach的用法
在mybatis(mybatis-3.4.5)的官方文件中,給了僅僅這麼一個例子: <select id="selectPostIn" resultType="domain.blog.Post"> SELECT * FROM POST P WHERE ID in
golang 中select的三種用法
golang 中select的三種用法 1.超時處理 select { case str := <- resultChan: &n
.NET WinForm中的三種Timer(計時器)的區別和用法
.NET中的三種Timer(計時器)的區別和用法卡卡 發表於 2014/12/5 13:02:00 | 分類標籤: Timer 計時器 ASP.NET NET中有3個不同的定時器。這3個定時器分別是: 1.實現按使用者定義的時間間隔引發事件的計時器。此計時器最宜用於 Wi
c#中using的三種用法
1.using指令。using + 名稱空間名字,這樣可以在程式中直接用命令空間中的型別,而不必指定型別的詳細名稱空間,類似於Java的import,這個功能也是最常用的,幾乎每個cs的程式都會用到。 例如:using System; 一般都會出現在*.cs中。 2.us
mybatis中foreach的用法
1.場景還原 工作中,有很多地方需要用到批量刪除或批量插入,或者是批量更新,抑或是批量查詢,這樣的需求難免會用到mybatis中的foreach標籤 2.foreach介紹 <foreach>標籤的用法: 6個引數: collection:要迴圈的集合
C#中New關鍵字的三種用法
三種用法如下: 在 C# 中,new 關鍵字可用作運算子、修飾符或約束。 1)new 運算子:用於建立物件和呼叫建構函式。這種大家都比較熟悉,沒什麼好說的了。 2)new 修飾符:在用作修飾符時,new 關鍵字可以顯式隱藏從基類繼承的成員。 3)n
iOS中webView的三種用法
/***************************************ViewController.h***************************************/ #import @interface ViewController : U
SQL語句中UPDATE的三種用法
SQL語句中的更新語句update是最常用的語句之一,下面將為您介紹update語句的三種使用方法,供您參考,希望對您有所幫助。 一、環境: MySQL-5.0.41-win32 Windows XP professional 二、建立測試環境: DROP TAB
PLSQL中的三種參數模式IN、OUT、IN OUT
代碼 問題 ima .cn lang 傳遞 repl 一個 lin 1、IN模式 IN模式是參數的默認模式,這種模式就是在程序運行的時候已經具有值,在程序體中值不會改變。 錯誤例子: 1 create or replace procedure in_proc ( 2
js oop中的三種繼承方法
custom 屬性方法 三種 調用方法 定義 this指向 兩個類 fun color JS OOP 中的三種繼承方法: 很多讀者關於js opp的繼承比較模糊,本文總結了oop中的三種繼承方法,以助於讀者進行區分。 <繼承使用一個子類繼承另一個父類,子類可以自