巧妙mybatis避免Where 空条件的尴尬

2021/6/17 10:59:14

本文主要是介绍巧妙mybatis避免Where 空条件的尴尬,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

我就废话不多说了,大家还是直接看代码吧~

1 2 3 4 5 6 7 <select id="findActiveBlogLike" resultType="Blog">  SELECT * FROM BLOG  WHERE  <if test="state != null">  state = #{state}  </if> </select>

如果state参数为空时,最终生成SQL语句为

SELECT * FROM BLOG

WHERE

执行会出错,当然,你可以在where 后加一个1=1,改成

1 2 3 4 5 6 7 <select id="findActiveBlogLike" resultType="Blog">  SELECT * FROM BLOG  WHERE 1=1  <if test="state != null">  and state = #{state}  </if> </select>

但是这个做法不太“环保”(毕竟引入了一个垃圾条件),其实只要改成<where>...</where>即可

1 2 3 4 5 6 7 8 <select id="findActiveBlogLike" resultType="Blog">  SELECT * FROM BLOG  <where>   <if test="state != null">    and state = #{state}   </if>  </where> </select>


这篇关于巧妙mybatis避免Where 空条件的尴尬的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程