mybatis的一个坑

本文讲述了开发者在pg改造过程中遇到的问题,即Integer类型的isHash参数在XML标签判断中失效。通过尝试多种条件组合和调整parameterType,最终发现将接收参数改为PmRedisConfig类型解决了问题。
摘要由CSDN通过智能技术生成

问题描述:

这两天在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”,后面终于可以了,哭死了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值