是这样,最近有个需求是,如果用户在搜索框里面输入的是一个空格那就搜索值为空的数据,但是我在mybatis里面写if判断,总是不生效求大神帮忙看下,屁话少说,我上代码!
<if test="orderRemark !=null and orderRemark !=''">
and a.order_Remark like '%${orderRemark}%'
</if>
传入一个空字符串(没有空格),翻译出来的sql语句是,and a.order_Remark like '%%'
然后我又改了下
<if test="orderRemark !=null and orderRemark !=''">
<choose>
<when test="orderRemark==' '">
and a.order_Remark like ='' or a.order_Remark is null
</when>
<otherwise>
and a.order_Remark like '%${orderRemark}%'
</otherwise>
</choose>
</if>
这时候我传进去一个带有空格的字符串
翻译出来的是 and a.order_Remark like '% %'
既然第二个已经有空格了,为什么没进when的判断呢?????
求大神帮忙啊!!!!!!!!!!!!!!!
你可以在传参数之前用trim()方法去掉空格,这样在mybatis里就不需要再判断了