關於mybatis中0與null的小坑


最近在工作中,使用mybatis進行查詢的時候發現查詢出來的數據老是不正確,特地看了看日志,發現當傳入參數的為0的時候,myatis的if標簽沒有將判斷語句拼接上去

原來xml配置:

又來經過查證,原來mybatis會把0參數null,所以會導致傳入0會使得if標簽判斷無效。

解決方案:

使用增強判斷,即在test語句中增加 or 字段 == 0,如下

<if test="searchModle != null and searchModle.allowNegative != null and searchModle.allowNegative != '' or searchModle.allowNegative ==0">
AND store_info.allow_negative = #{searchModle.allowNegative}
</if>



 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM