Mybatis中Integer類型的判斷<if test=“status!= null and status!= ‘‘“>問題


Mybatis在進行<if test="status!= null and status!= ''">判空操作時,如果status為0的時候,該判斷條件的值為false,也就是說Mybatis此時把0作為null來進行判斷的

此時就會出現問題,在查詢狀態是0的數據時,查詢的是全部數據

 

解決辦法:

將判斷條件修改為:<if test="status!= null">

結論:

  1. <if test="status != null">中status為integer類型的,status=0的判斷結果為true。
  2. <if test="status != null and status != ''">中status為integer類型的,status=0的判斷結果為false,mybatis把status看作string來進行判斷。


免責聲明!

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



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