总结:如果实体类中字段类型为Integer,如果前端传参为0,mysql会默认当成空字符串,如果此时动态sql条件为 <if test = "xxx !=null and xxx != ' ' ">,就会报错
解决办法,动态sql条件去调判断空字符串,只判断非null:
<if test="isDeleted != null"> AND a.IS_DELETED = #{isDeleted,jdbcType=INTEGER} </if>
总结:如果实体类中字段类型为Integer,如果前端传参为0,mysql会默认当成空字符串,如果此时动态sql条件为 <if test = "xxx !=null and xxx != ' ' ">,就会报错
解决办法,动态sql条件去调判断空字符串,只判断非null:
<if test="isDeleted != null"> AND a.IS_DELETED = #{isDeleted,jdbcType=INTEGER} </if>