Mybatis在進行<if test="status!= null and status!= ''">判空操作時,如果status為0的時候,該判斷條件的值為false,也就是說Mybatis此時把0作為null來進行判斷的
此時就會出現問題,在查詢狀態是0的數據時,查詢的是全部數據
解決辦法:
將判斷條件修改為:<if test="status!= null">
結論:
<if test="status != null">中status為integer類型的,status=0的判斷結果為true。<if test="status != null and status != ''">中status為integer類型的,status=0的判斷結果為false,mybatis把status看作string來進行判斷。
