01 引言
在日常的开发中,有没有遇到过,在动态SQL中出现WHERE 1 = 1 这样的代码块,有没有感觉看到后一头雾水,写这个玩意要干啥,没有实际的业务意义。
或许只是为了解决动态SQL条件中,WHERE 后面AND 或者 OR 多余的问题吧。
02 案例
2.1 情有可原案发现场
SELECT
count(1)
FROM tb_voucher.voucher_release r
WHERE 1=1
<if test="voucherId != null">
AND r.voucher_id=#{voucherId}
</if>
上面这种这种情况就是为了解决WHERE后面多余的AND 或者 OR。
如果没有1 = 1,当voucherId != null 条件返回true时,最终的SQL就会出现语法错误的问题,如下:
SELECT
count(1)
FRO

最低0.47元/天 解锁文章
183

被折叠的 条评论
为什么被折叠?



