2016-4-26 最近在項目開發中,mybatis遇到一個很奇怪的問題,由於想在後臺傳一個int型0做爲查詢條件的數據,卻被識別成了null。後面,排除問題時,查到mybatis源碼對其進行了強制定義。因此解決問題能夠改造mybatis源碼,或者簡單的作如下處理
前期寫法:前端
<if test="sexId != null and sexId != ''>
AND sex_id = #{sexId,jdbcType=INTEGER}
</if>web
改造後寫法:mybatis
<if test="sexId != null and sexId != '' or sexId ==0">
AND sex_id = #{sexId,jdbcType=INTEGER}
</if>spa
2016-4-28 Mybatis integer類型 0被識別爲空字符串的解決辦法code
正常來講,0不爲空也不是空字符串。因此,針對這個問題,解決辦法是:若是類型爲Integer類型,我就去掉 != 」的判斷,只判斷!=null便可。orm
這就要求在前端integer不能傳''; 必須轉化爲null傳遞。ci