天天看点

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>