如果没用where标签的话,我们在写动态sql的时候可能需要这样:
SELECT
*
FROM
users
WHERE
1 = 1
<if test="id != null">
and id = #{id}
</if>
官方解释:where 元素只会在子元素返回任何内容的情况下才插入 “WHERE” 子句。而且,若子句的开头为 “AND” 或 “OR”,where 元素也会将它们去除。
这样我们的动态sql就可以写出这样
SELECT
*
FROM
users
<where>
<if test="id != null">
id = #{id}
</if>
</where>