mybatis标签之trim标签

trim标记是一个格式化的标记,主要用于拼接sql的条件语句(前缀或后缀的添加或忽略),可以完成set或者是where标记的功能。

trim属性主要有以下四个

  • prefix:在trim标签内sql语句加上前缀
  • suffix:在trim标签内sql语句加上后缀
  • prefixOverrides:指定去除多余的前缀内容,如:prefixOverrides=“AND | OR”,去除trim标签内sql语句多余的前缀"and"或者"or"。
  • suffixOverrides:指定去除多余的后缀内容。

例如在update中


	update student set 
	
		
		    NAME=#{name},
		
		
		    HOBBY=#{hobby},
		
	 
	where id=#{id}

如果name和hobby的值都不为空的话,会执行如下语句

update student set NAME='XX',HOBBY='XX' /*,*/ where id='XX'

会忽略最后一个“,” ;

在select中


如果name和hobby的值都不为空的话,会执行如下语句

    select*fromuserWHERE /*and*/ name = ‘xx’ and hobby= ‘xx’

会为片段添加 “WHERE” 前缀,并忽略第一个 “and” ;

当然,避免出现“WHERE AND”还有其他方法,如下


select * from student where 1=1
	
		
			and NAME = #{name}
		
		
			and HOBBY = #{hobby}
		
	

用在insert中


    insert into student 
	
		
			NAME,
		
		
			HOBBY,
		
	
	
		
			#{name},
		
		
			#{hobby},
		
	

可以为生成格式正确的insert语句。

你可能感兴趣的:(MyBatis)