mybatis中 判断 字符串为0 的情况出现的问题

需求:

AND CARRIER = #{carrier}

要在carrier字段不为null,’’,和"0"的时候增加以上条件,但是以上当carrier等于"0"时,并不生效。

转载地址:https://blog.csdn.net/hamov/article/details/78417021

原因:mybatis是用OGNL表达式来解析的,在OGNL的表达式中,'0’会被解析成字符,java是强类型的,char 和 一个string 会导致不等,

所以if标签中的sql不会被解析。

解决办法:

1----换成双引号

AND CARRIER = #{carrier}

2----加toSting()

AND CARRIER = #{carrier}

总结:单个的字符要写到双引号里面或者使用.toString()才行!

你可能感兴趣的:(mybatis中 判断 字符串为0 的情况出现的问题)