關於mybatis mapper.xml中的if判斷


場景:

頁面上有搜索框進行調節查詢,不同搜索框中的內容可以為空。

過程:

點擊搜索,前端把參數傳給后台,這是后台要把為空的參數過濾掉。

做法:

通常我們在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>

其實很簡單,把 ‘’ 空字符串的判斷給去掉就行了

 


免責聲明!

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



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