mybatis 报错:Caused by: org.apache.ibatis.binding.BindingException: Parameter '' not found

问题描述:

Caused by: org.apache.ibatis.binding.BindingException: Parameter '' not found

问题原因:

(1)可能是 mybatis 的xml,对应的mapper接口缺少@Param注解,或者@Param注解的value与xml的不一致。
xml示例:

<select id="selectBy" parameterType="java.lang.String" resultMap="BaseResultMap">
	select
	<include refid="Base_Column_List"/>
	from tt_work
	where work = #{workName,jdbcType = VARCHAR}
</select>

对应的mapper接口如下,可以看到 :

public interface QueryMapper {
        //@Param(value = "workName")对应 xml的#{workName,jdbcType = VARCHAR}
	int selectBy(@Param(value = "workName") String workName);
	
}

(2)也有可能是 mybatis的xml,存在多余的注释。注释中包含#{}、${}。
注释掉的代码mybatis还是会读到并去匹配mapper的,把多余的注释删掉就Ok了。
这个有点坑,要注意些。

posted on 2022-06-27 22:10  乐之者v  阅读(2127)  评论(0)    收藏  举报

导航