在mybatis中去除多餘的字首或者字尾操作
阿新 • • 發佈:2020-11-29
A.where 標籤會自動刪除第一個多餘的and或者or,set標籤會自動刪除最後一個','
B.trim標記,是一個格式化的標記,可以完成set或者是where標記的功能,如下程式碼:
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'
上面兩個屬性的意思如下:
prefix:字首
prefixoverride:去掉第一個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'
自動加了一個set字首和where字尾,上面三個屬性的意義如下,其中
prefix意義如上:
suffixoverride:去掉最後一個逗號(也可以是其他的標記,就像是上面字首中的and一樣)
suffix:字尾
補充知識:mybatis-plus 表名字首 taablePrefix
這樣類的前面不用指定表名
以上這篇在mybatis中去除多餘的字首或者字尾操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。