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來進行判斷。