天天看點

Parameter ‘keyword‘ not found. Available parameters are [carrierCountQuery, param1]

Parameter ‘keyword’ not found. Available parameters are [carrierCountQuery, param1]

記錄一下今天踩的坑!

拿到了别人寫的代碼改一個bug,報錯如下:

Parameter 'keyword' not found. Available parameters are [carrierCountQuery, param1]
           

dao接口源代碼如下:

List<InnovationCarrierName> queryCarrierList(@Param("carrierCountQuery") CarrierCountQuery carrierCountQueryd);
           

傳入的是一個對象

xml如下:

<if test="carrierCountQuery.keyword != null and carrierCountQuery.keyword != ''">
        AND lower(NAME) LIKE CONCAT('%',lower(#{keyword}),'%') ESCAPE '\'
      </if>
           

找了半天才發現傳入的參數被封裝在一個對象中,用的時候要用對象去 “.”

才能拿到傳入的參數;疏忽大意了啊!找了個把小時才找到。

修改後代碼如下,正常!

<if test="carrierCountQuery.keyword != null and carrierCountQuery.keyword != ''">
        AND lower(NAME) LIKE CONCAT('%',lower(#{carrierCountQuery.keyword}),'%') ESCAPE '\'
      </if>