<trim>的主要属性如下显示:
<trim prefix="" prefixOverrides="" suffix="" suffixOverrides=""></trim>
prefix 和 suffix 分别表示加上前缀或者后缀;
prefixOverrides 和 suffixOverrides 表示去除头部和尾部的某个内容;
下面就是代码示例:
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”
where后不存在and,这是因为prefixoverride="AND |OR"
代表去掉第一个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"> AND gender=#{gender} , </if> </trim>
假如说name和gender的值都不为null的话,打印的SQL为:
update user set name='xx' , gender='xx' where id='x'