問題背景:
數據庫存在一個 decimal類型的金額字段
操作SQL的場景是:
更新表的這個金額字段的值為零
更新SQL寫法如下:
<if test="amount != null and amount != ''">
amount = #{amount,jdbcType=DECIMAL},
</if>
問題:更新失敗 SQL并不認為它是在進行更新
原因:
該類型decimal 或者Integer類型 如果值為零 (amount = 0)時
mybatis 對于 amount == '' 的判斷是 true
所以導致以上的問題 , 去掉amount != '' 判斷就可以解決問題了