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>