我就废话不多说了,大家还是直接看代码吧~
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
>
|