Mybatis使用If判断单个字符相等

<if test=" type == '1' ">

上面这种写法当参数实际传值为"1"时,无法匹配对应的条件。

原因是:Mybatis是用OGNL表达式来解析的,在OGNL的表达式中,‘1’会被解析成字符,java是强类型的,char和一个String会导致不等,所以if标签中的sql不会被解析。

正确写法:

<if test=' type == "1" '>
或者
<if test=" type == '1'.toString() ">

 

 posted on 2023-02-21 11:48  会飞的金鱼  阅读(110)  评论(0)    收藏  举报