MyBatis動(dòng)態(tài)SQL中的trim標(biāo)簽的使用方法
trim標(biāo)記是一個(gè)格式化的標(biāo)記,可以完成set或者是where標(biāo)記的功能,如下代碼:
1、
select * from user <trim prefix="WHERE" prefixoverride="AND |OR"> <if test="name != null and name.length()>0"> AND name=#{name}</if> <if test="gender != null and gender.length()>0"> AND gender=#{gender}</if> </trim>
假如說(shuō)name和gender的值都不為null的話打印的SQL為:select * from user where name = 'xx' and gender = 'xx'
在紅色標(biāo)記的地方是不存在第一個(gè)and的,上面兩個(gè)屬性的意思如下:
prefix:前綴
prefixoverride:去掉第一個(gè)and或者是or
2、
update user <trim prefix="set" suffixoverride="," suffix=" where id = #{id} "> <if test="name != null and name.length()>0"> name=#{name} , </if> <if test="gender != null and gender.length()>0"> gender=#{gender} , </if> </trim>
假如說(shuō)name和gender的值都不為null的話打印的SQL為:update user set name='xx' , gender='xx' where id='x'
在紅色標(biāo)記的地方不存在逗號(hào),而且自動(dòng)加了一個(gè)set前綴和where后綴,上面三個(gè)屬性的意義如下,其中prefix意義如上:
suffixoverride:去掉最后一個(gè)逗號(hào)(也可以是其他的標(biāo)記,就像是上面前綴中的and一樣)
suffix:后綴
以上所述是小編給大家介紹的MyBatis動(dòng)態(tài)SQL中的trim標(biāo)簽的使用方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- mybatis的動(dòng)態(tài)sql詳解(精)
- mybatis動(dòng)態(tài)sql之Map參數(shù)的講解
- MyBatis執(zhí)行動(dòng)態(tài)SQL的方法
- Mybatis模糊查詢和動(dòng)態(tài)sql語(yǔ)句的用法
- Mybatis中的動(dòng)態(tài)SQL語(yǔ)句解析
- MyBatis實(shí)踐之動(dòng)態(tài)SQL及關(guān)聯(lián)查詢
- MyBatis動(dòng)態(tài)SQL標(biāo)簽用法實(shí)例詳解
- mybatis的動(dòng)態(tài)sql之if test的使用說(shuō)明
- 詳解Mybatis動(dòng)態(tài)sql
- Mybatis超級(jí)強(qiáng)大的動(dòng)態(tài)SQL語(yǔ)句大全
相關(guān)文章
java自定義異常以及throw和throws關(guān)鍵字用法
這篇文章主要介紹了java自定義異常以及throw和throws關(guān)鍵字用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-02-02Java中過(guò)濾器、監(jiān)聽(tīng)器和攔截器的區(qū)別詳解
這篇文章主要介紹了Java中過(guò)濾器、監(jiān)聽(tīng)器和攔截器的區(qū)別詳解,有些朋友可能不了解過(guò)濾器、監(jiān)聽(tīng)器和攔截器的區(qū)別,本文就來(lái)詳細(xì)講一下,相信看完你會(huì)有所收獲,需要的朋友可以參考下2024-01-01Java日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(38)
下面小編就為大家?guī)?lái)一篇Java基礎(chǔ)的幾道練習(xí)題(分享)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧,希望可以幫到你2021-07-07java線程Thread.sleep()對(duì)比對(duì)象的wait示例解析
這篇文章主要為大家介紹了java線程Thread.sleep()對(duì)比對(duì)象的wait示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09Kafka常用命令之kafka-console-consumer.sh解讀
這篇文章主要介紹了Kafka常用命令之kafka-console-consumer.sh解讀,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03使用jd-gui反編譯修改jar包里的.class并重新生成新jar問(wèn)題
這篇文章主要介紹了使用jd-gui反編譯修改jar包里的.class并重新生成新jar問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-05-05MybatisPlus BaseMapper 中的方法全部 Invalid bound statement (not f
這篇文章主要介紹了MybatisPlus BaseMapper 中的方法全部 Invalid bound statement (not found)的Error處理方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09Java 實(shí)現(xiàn)倒計(jì)時(shí)功能(由秒計(jì)算天、小時(shí)、分鐘、秒)
最近做項(xiàng)目遇到這樣的需求,天、小時(shí)、分鐘、秒的數(shù)值都是隔開(kāi)的,服務(wù)器端只返回一個(gè)時(shí)間戳長(zhǎng)度,怎么實(shí)現(xiàn)這樣的功能呢?下面小編給大家?guī)?lái)了Java 實(shí)現(xiàn)倒計(jì)時(shí)功能的方案,需要的朋友參考下吧2018-01-01話說(shuō)Spring Security權(quán)限管理(源碼詳解)
本篇文章主要介紹了話說(shuō)Spring Security權(quán)限管理(源碼詳解) ,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-02-02