MyBatis

MyBatis常用動態(tài)標(biāo)簽

1、if

2.choose、when、otherwise

????????choose標(biāo)簽是按順序判斷其內(nèi)部when標(biāo)簽中的test條件是否成立,如果有一個成立,則choose結(jié)束;如果所有的when條件都不滿足時,則執(zhí)行otherwise中的SQL。類似于java的switch語句。

3.where

4.set

5.trim

? ??????trim標(biāo)簽可實(shí)現(xiàn)where/set標(biāo)簽的功能

????? ??prefix:表示在trim標(biāo)簽包裹的SQL前添加指定內(nèi)容

????? ??suffix:表示在trim標(biāo)簽包裹的SQL末尾添加指定內(nèi)容

????? ??prefixOverrides:表示去掉(覆蓋)trim標(biāo)簽包裹的SQL指定首部內(nèi)容,去掉多個內(nèi)容寫法為and |or(中間空格不能省略)(一般用于if判斷時去掉多余的AND |OR)

????????suffixOverrides:表示去掉(覆蓋)trim標(biāo)簽包裹的SQL指定尾部內(nèi)容(一般用于update語句if判斷時去掉多余的逗號)

6.foreach

? ??????collection:迭代集合的名稱,可以使用@Param注解指定,該參數(shù)為必選(java入?yún)?,相對?{listName})

? ??????item:表示本次迭代獲取的元素,若collection為List、Set或數(shù)組,則表示其中元素;若collection為Map,則代表key-value的value,該參數(shù)為必選

? ??????index:在List、Set和數(shù)組中,index表示當(dāng)前迭代的位置,在Map中,index指元素的key,該參數(shù)是可選項(xiàng)

? ??????open:表示該語句以什么開始,最常使用的是左括弧”(”,MyBatis會將該字符拼接到foreach標(biāo)簽包裹的SQL語句之前,并且只拼接一次,該參數(shù)是可選項(xiàng)

? ??????close:表示該語句以什么結(jié)束,最常使用的是右括弧”)”,MyBatis會將該字符拼接到foreach標(biāo)簽包裹的SQL語句末尾,該參數(shù)是可選項(xiàng)

? ??????separator:MyBatis會在每次迭代后給SQL語句添加上separator屬性指定的字符,該參數(shù)是可選項(xiàng)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容