在mybatis中去除多余的前綴或者后綴操作
A.where 標(biāo)簽會自動刪除第一個(gè)多余的and或者or,set標(biāo)簽會自動刪除最后一個(gè)','
B.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>
假如說name和gender的值都不為null的話打印的SQL為:select * from user where name = 'xx' and gender = 'xx'
上面兩個(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>
假如說name和gender的值都不為null的話打印的SQL為:update user set name='xx' , gender='xx' where id='x'
自動加了一個(gè)set前綴和where后綴,上面三個(gè)屬性的意義如下,其中
prefix意義如上:
suffixoverride:去掉最后一個(gè)逗號(也可以是其他的標(biāo)記,就像是上面前綴中的and一樣)
suffix:后綴
補(bǔ)充知識:mybatis-plus 表名前綴 taablePrefix
這樣類的前面不用指定表名
以上這篇在mybatis中去除多余的前綴或者后綴操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
學(xué)習(xí)Java之Java中的異常處理機(jī)制詳解
在本文中,小編將帶領(lǐng)大家來學(xué)習(xí)Java的異常處理機(jī)制,包括異常機(jī)制、異常類型、如何捕獲異常、如何拋出異常以及如何創(chuàng)建自定義異常等核心內(nèi)容,感興趣的同學(xué)跟著小編一起來看看吧2023-08-08MyBatis接口綁定的實(shí)現(xiàn)方式和工作原理
在日常開發(fā)中,數(shù)據(jù)持久層是幾乎每個(gè)項(xiàng)目都會涉及的一個(gè)關(guān)鍵組成部分,MyBatis作為一個(gè)流行的持久層框架,其提供的接口綁定機(jī)制極大地簡化了數(shù)據(jù)庫操作,本文將通過詳細(xì)的代碼示例和講解,帶你深入理解MyBatis接口綁定的工作原理和實(shí)踐方式,需要的朋友可以參考下2024-03-03Java屬性文件操作之Properties與ResourceBundle詳解
這篇文章主要介紹了Java屬性文件操作之Properties與ResourceBundle詳解,兩個(gè)類都可以讀取屬性文件中以key/value形式存儲的鍵值對,ResourceBundle讀取屬性文件時(shí)操作相對簡單,需要的朋友可以參考下2023-11-11Spring為singleton?bean注入prototype?bean
這篇文章主要介紹了Spring為singleton?bean注入prototype?bean,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-07-07IDEA-SpringBoot項(xiàng)目Debug啟動不了(卡住不動)的原因分析
這篇文章主要介紹了IDEA-SpringBoot項(xiàng)目Debug啟動不了(卡住不動)的原因分析,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11SpringBoot之自定義banner使用代碼實(shí)例
這篇文章主要介紹了SpringBoot之自定義banner使用代碼實(shí)例,在Spring Boot中,你可以通過定制Banner來個(gè)性化你的應(yīng)用程序啟動時(shí)的輸出,Banner是一個(gè)在應(yīng)用程序啟動時(shí)顯示的ASCII藝術(shù)字形式的標(biāo)志,用于增加應(yīng)用程序的識別度和個(gè)性化,需要的朋友可以參考下2024-01-01基于jmeter實(shí)現(xiàn)跨線程組傳遞token過程圖解
這篇文章主要介紹了基于jmeter實(shí)現(xiàn)跨線程組傳遞token,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04Springboot中useGeneratedKeys用法小結(jié)
本文主要介紹了Springboot中useGeneratedKeys用法小結(jié),useGeneratedKeys?是 MyBatis 框架中的一個(gè)參數(shù),用于指定是否允許 JDBC 支持自動生成主鍵,感興趣的可以了解一下2024-09-09