create table tb_user(
id bignit,
sname varchar(10)
)
trim标签去掉多余的and/or
select id ,sname from tb_user
where
<if test="id!=null">
id=#{id}
</if>
<if test="sname!=null">
and/or sname=#{sname}
</if>
当第一个if语句不满足条件,第二个成立时,就会多出一个and/or ,sql语句会报错。
使用trim标签就可以避免
select id ,sname from tb_user
<trim prefix="where" prefixoverrides="and/or">
<if test="id!=null">
id=#{id}
</if>
<if test="sname!=null">
and/or sname=#{sname}
</if>
</trim>
标签trim去掉多余的,
select id,
<if test=”sname!=null">
sname
</if>
from tb_user
当if语句不满足条件时,sql语句就会变成
select id, from tb_user
语法错误,使用trim标签可以避免
select
<trim sufferoverrides=",">
id,
<if test=”sname!=null">
sname
</if>
<trim>
from tb_user