trim標記是一個格式化的標記,可以完成set或者是where標記的功能,如下代碼:
1、
1
2
3
4
5
|
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'
在紅色標記的地方是不存在第一個and的,上面兩個屬性的意思如下:
prefix:前綴
prefixoverride:去掉第一個and或者是or
2、
1
2
3
4
5
|
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動態SQL中的trim標簽的使用方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!
原文鏈接:http://www.cnblogs.com/qiankun-site/p/5758924.html