Mybatis - if test条件判断,踩坑记录
Posted Zhang Daopin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mybatis - if test条件判断,踩坑记录相关的知识,希望对你有一定的参考价值。
由于需求的变化,需要在查询的时候增加判断的逻辑,
原来是:
WHERE type!='CUSTOM'
<if test="type!='' and type!=null ">
AND t.type= #{type}
</if>
需求要求,在类型等于AAA和不等于AAA时,查询的数据
修改为:
WHERE type!='CUSTOM'
<if test="type!='' and type!=null and type=='AAA' ">
AND t.type= #{type}
</if>
<if test="type!='' and type!=null and type!='AAA' ">
AND t.type!= 'AAA'
</if>
刚开始试了很多方法,例如(and type='AAA')
发现不管怎样的条件查询,都会查询出类型为AAA的数据,百思不得其解,后来看到这个博客,才灵机一动,将“=”改为“==”就解决了。。。mybatis中if test 可以使用== != null '' and or 和括号()
<where> type!='CUSTOM'
<if test="type!='' and type!=null and type='AAA' ">
AND t.type= #{type}
</if>
<if test="type!='' and type!=null and type!='AAA' ">
AND t.type!= 'AAA'
</if>
</where>
以上是关于Mybatis - if test条件判断,踩坑记录的主要内容,如果未能解决你的问题,请参考以下文章