場景:
頁面上有搜索框進行調節查詢,不同搜索框中的內容可以為空。
過程:
點擊搜索,前端把參數傳給后台,這是后台要把為空的參數過濾掉。
做法:
通常我們在dao層即mapper.xml中進行過濾判斷操作,如下
<if test="name != null and name != ''"> and name = #{name} </if>
這時當name為空時,就會把name這個字段忽略掉,從而達到過濾作用。
問題:
當我們穿的參數為整型時,Integer或者int時,這個判斷將不起作用,因為mybatis會把為整型的參數當做字符串判斷,直接跳過,根本傳不進來。
解決:
<if test="name != null"> and name = #{name}
</if>
其實很簡單,把 ‘’ 空字符串的判斷給去掉就行了