巧妙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 >
|
标签:Blog,巧妙,BLOG,state,SELECT,mybatis,null,Where,select 来源: https://www.cnblogs.com/roak/p/14892378.html