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>