mybatis sqlmapper test 判断非字符串类型的值

BUG概要

长话短说。在TbMonitorSystemInfo类里有2个Short类型的属性 isUsing 和 failSendMassage 。在Mybatis的mapper.xml的截取出的一个update片断中(如下sql),每次执行这test判断的结果都是false以致于生成的sql不完整。
<update id="updatePartByPK" parameterType="com.略.entity.TbMonitorSystemInfo">
update TB_MONITOR_SYSTEM_INFO
<set>
<if test = "isUsing != null and isUsing !=''"> IS_USING = #{isUsing,jdbcType=DECIMAL}, </if>
<if test = "failSendMassage != null and isUsing !=''"> FAIL_SEND_MASSAGE = #{failSendMassage,jdbcType=DECIMAL}, </if>
</set>
where SEQ_NO = #{seqNo,jdbcType=VARCHAR}
</update>

解决方案

如下sql,去掉 test = ” xxx !=” ” 或者 改xxx属性为String类型。
<update id="updatePartByPK" parameterType="com.略.entity.TbMonitorSystemInfo">
update TB_MONITOR_SYSTEM_INFO
<set>
<if test = "isUsing != null and isUsing !=''"> IS_USING = #{isUsing,jdbcType=VARCHAR}, </if>
<if test = "failSendMassage != null"> FAIL_SEND_MASSAGE = #{failSendMassage,jdbcType=DECIMAL}, </if>
</set>
where SEQ_NO = #{seqNo,jdbcType=VARCHAR}
</update>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值