问题背景:
数据库存在一个 decimal类型的金额字段
操作SQL的场景是:
更新表的这个金额字段的值为零
更新SQL写法如下:
<if test="amount != null and amount != ''">
amount = #{amount,jdbcType=DECIMAL},
</if>
问题:更新失败 SQL并不认为它是在进行更新
原因:
该类型decimal 或者Integer类型 如果值为零 (amount = 0)时
mybatis 对于 amount == '' 的判断是 true
所以导致以上的问题 , 去掉amount != '' 判断就可以解决问题了
网友评论