1.1.1. trim介绍
trim元素的主要功能是可以在自己包含的内容前加上某些前缀,也可以在其后加上某写后缀,与之对应的属性是prefix和suffix;
可以把包含内容的首部某些内容覆盖,即忽略,也可以把尾部的某些内容覆盖,对应的属性是prefixOverrides和suffixOver
1.1.2. 案例1
在userMapper.xml中书写sql说句
select * from user
<trim prefix="WHERE" prefixOverrides="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,这是因为prefixOverrides="AND |OR"代表去掉第一个and或者是or。
1.1.3. 案例3
update user
<trim prefix="set" suffixOverrides="," 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
1.1.4 可以很灵活的写一些动态sql,可以看出下面的案例中效果是一样的
欢迎大家一块交流,有什么疑问评论联系我