日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

for循环执行 mybatis_mybatis sql循环的使用

發布時間:2023/12/10 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 for循环执行 mybatis_mybatis sql循环的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

foreach的主要用在構建in條件中,它可以在SQL語句中進行迭代一個集合。

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

item表示集合中每一個元素進行迭代時的別名,

index指

定一個名字,用于表示在迭代過程中,每次迭代到的位置,

open表示該語句以什么開始,

separator表示在每次進行迭代之間以什么符號作為分隔

符,

collection表示要循環的集合,

close表示以什么結束。

在使用foreach的時候最關鍵的也是最容易出錯的就是collection屬性,該屬性是必須指定的,但是在不同情況 下,該屬性的值是不一樣的,主要有一下3種情況:

1.

如果傳入的是單參數且參數類型是一個List的時候,collection屬性值為list

2.

如果傳入的是單參數且參數類型是一個array數組的時候,collection的屬性值為array

3. 如果傳入的參數是多個的時候,我們就需要把它們封裝成一個Map了,當然單參數也可以封裝成map,實際上如果你在傳入參數的時候,在breast里面也是會把它封裝成一個Map的,map的key就是參數名,所以這個時候collection屬性值就是傳入的List或array對象在自己封裝的map里面的key

4.如果傳入的參數是實體類對象,該對象中有對應的要循環的集合或數組,則可以直接將collection的值寫成該字段名稱。

下面分別來看看上述四種情況的示例代碼:

1.單參數List的類型:

select * from t_service where id in

#{item}

若傳入的是List類型 在Mapper文件中處理過后,SQL如下:(直接引用注解中的參數名字,這樣mybatis會忽略類型,按名字引入)

select * from t_services where id in

#{item}

上述collection的值為list,對應的Mapper是這樣的

public List dynamicForeachTest(List ids);

若是傳入的是的是List類型的 ?可能會報出兩個參數的異常,這時我們可以用Mybatis官方的注解@Param

public List dynamicForeach(@Param("ids")List ids);

2.單參數array數組的類型:

select * from t_service where id in

#{item}

上述collection為array,對應的Mapper代碼:

public List dynamicForeach2(int[] ids);

3.自己把參數封裝成Map的類型:

select * from t_service where title like "%"#{title}"%" and id in

#{item}

上述collection的值為ids,是傳入的參數Map的key,對應的Mapper代碼:

public List dynamicForeach3(Map params);

4.傳入的參數是實體類對象,該對象中有對應的要循環的集合或數組。

public List findList(T entity) {

return dao.findList(entity);

}

對應的mapper可以這樣使用:

SELECT

FROM cms_Services a

AND (a.category_id = #{category.id})

and

a.category_id in

#{category.id}

collection對應的categoryList是實體類中的List:

偽代碼:

public class Services extends DataEntity {

private List categoryList;// 分類編號(組)

}

另外要注意的是:foreach循環出來的實體,是可以當成實體在循環外面去調用的,即如果例4中代碼寫成如下這樣:

SELECTFROM cms_Services a

and

a.category_idin

#{category.id}

AND (a.category_id=#{category.id})

則如果該實體沒有傳入category

依然會進入最后那一個循環中去,這點需要注意。

總結

以上是生活随笔為你收集整理的for循环执行 mybatis_mybatis sql循环的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 色爽 av| 亚洲色图视频网站 | 国产婷婷精品 | 国产精品无码一区二区无人区多人 | 午夜久久视频 | 日韩最新中文字幕 | 日本少妇高潮喷水xxxxxxx | 欧美第一页在线观看 | 亚洲com | 伊人青青操 | 久久人人爽人人爽人人片av高清 | 亚欧洲乱码视频 | 亚洲精品欧洲精品 | 麻豆国产尤物av尤物在线观看 | 观看毛片 | 国产123在线 | 污污视频网站在线免费观看 | 国产精品美女在线 | 好色av | 福利网址在线 | 羞羞免费视频 | 在线播放成人av | 在线中文字日产幕 | 尤果网福利视频在线观看 | 亚洲www在线观看 | 国产伦理吴梦梦伦理 | 亚洲精品中文字幕 | 久久久久亚洲国产 | 91精品国产高清一区二区三密臀 | 日日摸夜夜添夜夜添高潮喷水 | 色丁香av| 影音先锋久久久 | 亚洲成人高清在线观看 | 男女做爰真人视频直播 | 国产成人综合欧美精品久久 | 久草视频在线免费看 | 日本在线加勒比 | 欧美日韩午夜精品 | 不卡av一区二区 | 日本欧美在线观看 | 羞辱极度绿帽vk | 国产女主播一区二区 | 国产一区二区三区18 | 天天色综合天天 | 日韩一区不卡视频 | 一区二区欧美在线 | 黄色三级在线 | 熊猫av| 福利国产视频 | 黄色免费播放 | 中文字幕有码在线 | 欧美xxxx网站| 久久久久久久久久一区二区三区 | 欧美一级黄视频 | 美女流白浆视频 | 91日韩在线视频 | 欧美精品1区 | 全部毛片永久免费看 | 99久久免费看精品国产一区 | 国产盗摄一区二区 | av网在线播放 | www.国产毛片| 51免费看成人啪啪片 | 国产又粗又黄又爽的视频 | 三级网站在线 | 九九免费精品视频 | 老女人网站| 日韩第一视频 | 91欧美激情一区二区三区成人 | 蜜桃色av | 成人乱人乱一区二区三区一级视频 | 免费无遮挡无码永久在线观看视频 | 浮妇高潮喷白浆视频 | 精品国产乱码久久久人妻 | 欧美黄色免费网站 | 欧美日韩一区二区三区视频 | 黄页视频在线观看 | 欧美乱妇狂野欧美视频 | 亚洲黄av| 国产一级影片 | 人人澡人人看 | 亚洲激情视频小说 | 欧美黑人性猛交xxxx | 大尺度舌吻呻吟声 | 特级免费毛片 | 大黄一级片 | 天堂综合网 | 中文字幕在线播放 | 午夜av毛片| 综合久草 | 97超碰中文字幕 | 无套内谢的新婚少妇国语播放 | 国产精品久久久久久一区二区 | 国产1区2区在线观看 | 亚欧洲精品视频在线观看 | 婷婷丁香一区二区三区 | 欧美日韩伦理片 | 国内自拍视频网站 | 精品一区二区三区无码视频 |