MyBatis - Parameter ‘xxx‘ not found. Available parameters are [xxx, param.]
Posted 放羊的牧码
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MyBatis - Parameter ‘xxx‘ not found. Available parameters are [xxx, param.]相关的知识,希望对你有一定的参考价值。
报错信息
Parameter ‘xxx‘ not found. Available parameters are [xxx, param...]
分析原因
1、在 Dao 层,方法签名中形参注解 @Param 名是否和 XML 里使用保持一致
List<ScriptPO> getScriptsByNameMap(@Param("supScriptNamePairList") List<Pair<String, String>> supScriptNamePairList);
<select id="getScriptsByNameMap" parameterType="List" resultType="ScriptPO">
SELECT *
FROM t_ac_api_script scriptPO
LEFT JOIN t_srm_supplier sup ON sup.supplier_id = scriptPO.supplier_id
<where>
<if test="supScriptNamePairList != null">
<foreach collection="supScriptNamePairList" index="index" item="supScriptNamePair" separator="OR">
supplier_name = #supScriptNamePair.key
AND script_name = #supScriptNamePair.value
AND script_del = 0
</foreach>
</if>
</where>
</select>
2、@Param 注解包是否引入正确
import org.apache.ibatis.annotations.Param;
3、XML 语法使用实参变量时,使用是否正确(博主是栽在这)
以上是关于MyBatis - Parameter ‘xxx‘ not found. Available parameters are [xxx, param.]的主要内容,如果未能解决你的问题,请参考以下文章
Mybatis错误:Parameter 'XXX' not found. Available parameters are [1, 0, param1, param2]
Mybatis报错: Parameter ‘XXX‘ not found. Available parameters are [arg1, arg0, param1, param2]解决方案
Parameter 'xxx' not found. Available parameters are [collection, list]