<foreach collection="accurateSearchMap" index="key" item="item">
<if test="key == 'gcc.sex' and item != '3' and item!='' and item!=null">
and ${key} = #{item}
</if>
<if test="key == 'gcc.classes' and item != '3' and item!='' and item!=null">
and ${key} = #{item}
</if>
<if test="key == 'gcc.add_target' and item != '2' and item!='' and item!=null">
and ${key} = #{item}
</if>
<if test="key == 'gcc.custype' and item != '3' and item!='' and item!=null">
and ${key} = #{item}
</if>
<if test="item!='' and item!=null and key != 'gcc.sex' and key != 'gcc.classes' and key != 'gcc.add_target' and key != 'gcc.custype'">
and ${key} = #{item}
</if>
</foreach>
因为accurateSearchMap是Map<String, Object>类型的,所以键对应的值是Object类型的,而对象间用==或!=比较的是地址引用,所以在值为Object类型的情况下以上代码是有问题的。
解决办法是:在值item后加上toString方法的调用,'1'后面也要加toString方法的调用
分享到:
相关推荐
主要介绍了mybatis 映射文件中if标签判断字符串相等的方式,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
主要介绍了Mybatis3 if判断字符串变态的写法,非常不错,具有参考借鉴价值,需要的朋友参考下
Mybatis Mapper.xml中字符串形式传参,逗号分隔 AND中拼接OR。
介绍了mybatis自定义标签,添加自定义标签的实现代码,通过实例代码展示给大家
MyBatis的动态SQL,解决了SQL字符串拼接的痛苦。下文分步骤给大家详细介绍了MyBatis 动态拼接Sql字符串的问题,非常不错,感兴趣的朋友一起看下吧
主要介绍了MyBatis动态Sql之if标签的用法,本文给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下
这样做很安全,很迅速也是首选做法,有时你只是想直接在SQL语句中插入一个不改变的字符串。比如,像ORDER BY,你可以这样来使用: ORDER BY ${columnName} 这里MyBatis不会修改或转义字符串。 重要:接受从用户输出...
主要给大家介绍了关于mybatis中<if>标签bool值类型为false判断方法,文中通过示例代码介绍的非常详细,对大家学习或者使用mybatis具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
目录 使用场景 动态标签 if标签 where标签 choose、when、otherwise 标签 ...if标签通常用那个胡where语句,update语句,insert语句中,通过判断参数值来决定是否使用某个查询条件,判断是否更新某一个字段或插入某个字段
利用自定义jstl标签,实现mybatis分页查询
主要介绍了解决Mybatis中foreach标签带来的空格,换行,回车问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
MyBatis的setting标签对应属性和值
项目需要springboot 可以绕过mybatis xml加载直接解析带标签的sql 演示代码,给需要的码农
技巧:MyBatis 中的trim标签,好用!.zip技巧:MyBatis 中的trim标签,好用!.zip技巧:MyBatis 中的trim标签,好用!.zip技巧:MyBatis 中的trim标签,好用!.zip技巧:MyBatis 中的trim标签,好用!.zip技巧:...
特殊字符(\,_,%)转义工具类 MyQueryInterceptor.java: Mybatis自定义拦截器 注意:该拦截器只支持QueryWrapper的like方法,serviceImpl层传全角模糊查询(%%) mapper或xml层的全角模糊查询(%*%)和半角模糊查询(%*或*%)
mybatis动态sql
测试mybatis里foreach用法,使用于list,array,map,怎么凑字数
mybatis 对clob类型转换,解决clob类型数据插入数据库报异常问题
我们看到, 直接在可视化工具里用SQL写...甚至去掉 TIMESTAMP 都是可以的, pgSQL可以自动把字符串给你转换成日期格式, 然后作比较 但是在mapper文件中这么写就不可以了, 它会提示你varchar类型不能和日期类型进行比较
MyBatis动态拼接SQL