<if test="demandServeStatus =='9'">
and t.serve_status = '2'
</if>
如果变量demandServeStatus是String类型的
使用如上的方法是错误的
因为'9'是char类型的,于字符串不会想等,应改写为如下方法:
<if test='demandServeStatus =="9"'>
and t.serve_status = '2'
and <![CDATA[t.end_date < now() ]]>
</if>
又或者写成:
<if test="demandServeStatus =='9'.toString()">
and t.serve_status = '2'
</if>
也可
当demandServeStatus是String类型时,与9进行比较需使用引号包围的字符串。原始代码中的错误可能导致不正确的比较。正确做法是将9改为9或者调用toString()方法。这会影响andt.serve_status的设定和条件检查。

4727

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



