<if test="publishType!='2'"> 
      and t.status='3' 
      and t.has_attachment='YES' 
</if>

其中publishType为传来的String类型参数,想比较其不等于字符串2,但是判断不生效

原因:

单引号是char类型,双引号是string类型!

char表示字符,定义时使用用单引号表示,只能存储一个字符。

而String表示字符串,定义时使用双引号表示,可以存储0个或多个字符,其实string类型就是char类型的数组表现形式。

所以'2'被认为是char类型,和String类型不相等

 

解决方法:

1.改成双引号

 
<if test='publishType!="2"'> 
    and t.status='3' 
    and t.has_attachment='YES' 
</if>

2.加.toString()方法

 
<if test="publishType!='2'.toString()"> 
      and t.status='3' 
      and t.has_attachment='YES' 
</if>

 

 

发布评论

分享到:

IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

百度地图鼠标点击或者移动获取坐标经纬度详解
你是第一个吃螃蟹的人
发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。