亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

Mybatis怎么用注解寫in查詢

發布時間:2021-07-13 12:24:00 來源:億速云 閱讀:1356 作者:小新 欄目:開發技術

這篇文章主要為大家展示了“Mybatis怎么用注解寫in查詢”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Mybatis怎么用注解寫in查詢”這篇文章吧。

Mybatis注解寫in查詢

@Select("<script>"
        + "SELECT * FROM table WHERE OrderNo IN "
        + "<foreach item='item' index='index' collection='list'      open='(' separator=',' close=')'>"
        + "#{item}"
        + "</foreach>"
        + "</script>")
List<Map<String,Object>> selectdemo(@Param("list") List<String> list);

這里foreach里面的collection值寫@Param值。

Mybatis中IN語句查詢、Mybatis中的foreach用法

1 需求

查詢 用戶 ID 為 101、102、103 的數據,參數是一個集合

2 在 SQL 語句中

select * from t_user where user_id in ( '101' , '102' ,'103')

3 在 Mybatis 中

你只需要

<select id="selectUserByIdList" resultMap="usesInfo">
 SELECT
 *
 from t_user
 WHERE id IN
 <foreach collection="idList" item="id" index="index" open="(" close=")" separator=",">
   #{id}
 </foreach>
</select>

對應的 Mapper中的接口如下

List<UserInfo> selectUserByIdList(@Param("idList")List idList)

4 聊一下

foreach元素的屬性主要有collection,item,index,open,separator,close。

4.1 collection

用來標記將要做foreach的對象,作為入參時

List對象默認用"list"代替作為鍵

數組對象有"array"代替作為鍵,

Map對象沒有默認的鍵。

入參時可以使用@Param(“keyName”)來設置鍵,設置keyName后,默認的list、array將會失效。

如下的查詢也可以寫成如下

List<UserInfo> selectUserByIdList(List idList)
<select id="selectUserByIdList" resultMap="usesInfo">
 SELECT
 *
 from t_user
 WHERE id IN
 <foreach collection="list" item="id" index="index" open="(" close=")" separator=",">
   #{id}
 </foreach>
</select>

如果是數組類型

List<UserInfo> selectUserByIdList(Long[] idList)
<select id="selectUserByIdList" resultMap="usesInfo">
 SELECT
 *
 from t_user
 WHERE id IN
 <foreach collection="array" item="id" index="index" open="(" close=")" separator=",">
   #{id}
 </foreach>
</select>

4.2

item:集合中元素迭代時的別名,該參數為必選。

index:在list和數組中,index是元素的序號,在map中,index是元素的key,該參數可選

open:foreach代碼的開始符號,一般是(和close=")"合用。常用在in(),values()時。該參數可選

separator:元素之間的分隔符,例如在in()的時候,separator=","會自動在元素中間用“,“隔開,避免手動輸入逗號導致sql錯誤,如in(1,2,)這樣。該參數可選。

close:foreach代碼的關閉符號,一般是)和open="("合用。常用在in(),values()時。該參數可選。

以上是“Mybatis怎么用注解寫in查詢”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

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

AI

紫金县| 鄂尔多斯市| 锡林浩特市| 云南省| 搜索| 托克逊县| 淮南市| 芮城县| 蓝田县| 浦县| 巴中市| 磐安县| 肇东市| 普兰店市| 红原县| 岱山县| 雅江县| 昌图县| 荔浦县| 惠安县| 曲靖市| 西吉县| 甘孜| 宁波市| 平和县| 内江市| 亚东县| 阜康市| 大化| 河西区| 大方县| 泾阳县| 南阳市| 南雄市| 临颍县| 天等县| 沛县| 郯城县| 吉林省| 攀枝花市| 咸宁市|