Mybatis的XML文件中<if>标签内的判断语句equals的坑

Mybatis中执行SQL语句:

假如代码中 String name = “B”;

在Mybatis的XML文件中有如下判断:

<if test=" name != null and name.equals('B')">
-- 返回false
<if test=' name != null and name.equals("B")'>
-- 返回true

<if test=" name != null and name.equals('B'.toString())">
-- 返回true

可能是因为OGNL对单字符的识别 当成了char类型 ,而我们代码中是String类型,所以判断成了false。

所以在Mybatis的XML文件中判断字符串是否相等,建议使用 test=' name != null and name.equals("B")'
即单引号内包双引号的方式。

你可能感兴趣的:(工作学习问题记录,mybatis)