1. 程式人生 > 程式設計 >在mybatis中去除多餘的字首或者字尾操作

在mybatis中去除多餘的字首或者字尾操作

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中去除多餘的字首或者字尾操作

以上這篇在mybatis中去除多餘的字首或者字尾操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。