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]解决方案

深入了解MyBatis参数

深入了解MyBatis参数

Parameter 'xxx' not found. Available parameters are [collection, list]

(转载)深入了解MyBatis参数