MyBatis动态SQL小结
6:用于實(shí)現(xiàn)動(dòng)態(tài)sql的元素及其用法
if+set--完成更新操作
if+where --完成多條件查詢
if+完成多條件查詢(替代where)或完成更新操作(替代set)
choose(when,otherwise)--完成條件查詢,多條件下,選擇其一
foreach--完成復(fù)雜查詢,主要用于in條件查詢中,迭代集合,其中最關(guān)鍵的就是collection,
根據(jù)入?yún)⒌念愋筒煌?#xff0c;該屬性值也不同
(1):若入?yún)㈩愋蜑閘ist,collection屬性為list
(2):若入?yún)㈩愋蜑閿?shù)組,collection屬性為array
(3):若入?yún)㈩愋蜑槎鄠€(gè),需要封裝成一個(gè)Map集合處理
7: foreach--完成復(fù)雜查詢,
應(yīng)用場(chǎng)景:主要用于in條件查詢中,迭代集合,
含有多個(gè)屬性,最關(guān)鍵的就是collection
根據(jù)入?yún)⒌念愋筒煌?#xff0c;該屬性值也不同
(1):若入?yún)㈩愋蜑閘ist,collection屬性為list
(2):若入?yún)㈩愋蜑閿?shù)組,collection屬性為array
(3):若入?yún)㈩愋蜑槎鄠€(gè),需要封裝成一個(gè)Map集合處理
item:集合中每一個(gè)元素進(jìn)行迭代的別名
index:表示迭代過(guò)程中 每一次迭代到的位置
open:表示迭代以什么開(kāi)始
separator:表示每一次迭代以什么作為分隔符
close:表示迭代以什么作為結(jié)束
我們可以巧妙地運(yùn)用這些屬性來(lái)進(jìn)行各種數(shù)據(jù)的增刪改查
8: 無(wú)論mybatis使用那種入?yún)㈩愋?#xff0c;都會(huì)將參數(shù)放入一個(gè)map集合中,
(1):若入?yún)榛绢愋?-變量名為key,值為value
(2):若入?yún)閷?duì)象--對(duì)象的屬性為key,值為value
(3):若入?yún)閘ist--默認(rèn)list作為key,該list為value
(4):若入?yún)閿?shù)組--默認(rèn)array作為key,該數(shù)組為value
(5):若入?yún)閙ap,鍵值不變
list可以用foreach循環(huán)遍歷出來(lái),基本數(shù)據(jù)類型不再細(xì)說(shuō)
轉(zhuǎn)載于:https://www.cnblogs.com/yang1314/p/8100088.html
總結(jié)
以上是生活随笔為你收集整理的MyBatis动态SQL小结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 零元学Expression Blend
- 下一篇: 代码迁移之旅(二)- 渐进式迁移方案