问题描述:
这两天在pg改造的时候,遇到了一个问题,执行sql前明明pmRedisConfig的isHash(Interger)参数值为0,一到xml的标签判断条件的时候就失效,导致sql中的条件查询有问题,下面是xml的sql判断条件:
<if test="isHash != null and isHash != ''" >
and IS_HASH = #{isHash}
</if>
改bug过程:
上网搜索了一下,大部分的帖子所描述的原因是Interger为0时,传入mybatis会自动识别为空,于是我改了以下几个条件,各种条件组合我都尝试了,这个条件始终不触发
<if test="isHash != null" >
<if test="isHash == ''" >
<if test="isHash != null and isHash=='0'" >
<if test="isHash != null and isHash=='0'.toString" >
...
解决方案:
后面发现 parameterType=“Object”,于是想着是不是可以改变接收的参数,于是把接收的参数改成这个类 parameterType=“PmRedisConfig”,后面终于可以了,哭死了
…