MyBatis动态SQL中trim的使用

MyBatis 中的 trim标签 是一个格式化的智能标记,可以动态地添加和删除SQL语句中的某些值,以完成 set 或者是 where 语句的组装。

trim 属性值:

prefix:前缀,增加一些指定的内容
prefixOverrides:前缀重写,删除指定的内容

suffixOverrides:后缀重写,删除指定的内容
suffix:后缀,增加一些指定的内容

注意4个属性值的作用位置:

依次是 prefix、prefixOverrides、suffixOverrides、suffix

##示列1

select * from user	


	 
		and name=#{name}
	
	
	
		and gender=#{gender}
	
	

prefix:在前面增加 where
prefixOverrides:删除第一个and 或者 or

假如说name和gender的值都不为null的话打印的SQL为:

select * from user
where name = 'xx' and gender = 'xx'

示例2

update user	


	 
		name=#{name} , 
	

	 
		gender=#{gender} ,  
	
	

prefix:在前端增加 set
suffixOverrides:删除最后一个逗号(也可以是其他的标记,就像是上面前缀中的and一样)
suffix:在最后面增加 where id = #{id}

假如说name和gender的值都不为null的话打印的SQL为:

update user 
set name='xx' , gender='xx'  
where id='x'

请仔细体会 prefix 、suffixOverrides、suffix 在SQL语句中作用的位置。

你可能感兴趣的:(#,mybatis)