Parameter ‘*’ not found. Available parameters are [0, 1, param1, param2]解决办法
我用的是mybatis面向接口编程 下面贴出错误代码
接口里面定义了这样一个方法
void updateState(String state,String username);
mapper.xml里面写的是这样一条sql语句
<update id="updateState" parameterType="java.lang.String" >
update tb_user1
set
state = #{state,jdbcType=VARCHAR}
where username = #{username,jdbcType=VARCHAR}
</update>
下面是运行报的错误
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter 'state' not found. Available parameters are [0, 1, param1, param2]
解决办法(1) 将名字换成下标就好了 如下
<update id="updateState" parameterType="java.lang.String" >
update tb_user1
set
state = #{0,jdbcType=VARCHAR}
where username = #{1,jdbcType=VARCHAR}
</update>
解决办法(2) 在接口上面加上注解 如下
void updateState(@Param("state") String state,@Param("username") String username);