surplusAccountingNum是int型。
正确的判断应该是:
<if test="surplusAccountingNum != null">
surplus_accounting_num = #{surplusAccountingNum},
</if>
而不是
<if test="surplusAccountingNum != null and surplusAccountingNum !='' ">
surplus_accounting_num = #{surplusAccountingNum},
</if>
下面这种在int型判断时会直接返回false。其他类型类似。