關於mybatis mapper.xml中的if判斷

場景:前端

頁面上有搜索框進行調節查詢,不一樣搜索框中的內容能夠爲空。mybatis

過程:app

點擊搜索,前端把參數傳給後臺,這是後臺要把爲空的參數過濾掉。spa

作法:code

一般咱們在dao層即mapper.xml中進行過濾判斷操做,以下xml

     <if test="name != null and name != ''">
            and name = #{name}
        </if>

這時當name爲空時,就會把name這個字段忽略掉,從而達到過濾做用。blog

問題:字符串

當咱們穿的參數爲整型時,Integer或者int時,這個判斷將不起做用,由於mybatis會把爲整型的參數當作字符串判斷,直接跳過,根本傳不進來。class

解決:test

     <if test="name != null">
            and name = #{name}
     </if>

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

相關文章
相關標籤/搜索