今天使用 mybatis 时遇到一个问题,当传参为 0 时,在 mybatis 判空时会将 0 转为 “” 空字符串
<if test="state != null and state != ""></if>
如果传参为 0 时,这样判空不会进入 if 语句。因为 mybatis 在会将 0 识别为空字符串 “”。
所以尽可能的在传参时不要传 0。或者将判空条件改为下面的两种形式:
<if test="state != null></if>
<if test="state != null or state = 0></if>