【异常】org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter 'showtype' not found. Available parameters are [0, 1, 2, param3, param1, param2]
解决办法:
当只有一个参数时,Mapper中可以不使用@Param
public void insertAdmin(String username);
但是有多个参数时必须用@Param
public void insertAdmin(@Param("username")String username,@Param("password")String password);
扩展:
@Param 注解在Mybatis中的使用 以及传递参数的两种方式:
第一种方法(使用@Param注解):
Dao层的方法:
void setAgeAndScore(@Param("username") String username,@Params("password") String password,@Params("age") String age,@Params("score")String score);
对应的Mapper.xml:
<update id="setAgeAndScore" parameterType="com.***.***.pojo.Student"> update User set age = #{age,jdbcType=VARCHAR}, score = #{score,jdbcType=VARCHAR} where username = #{username,jdbcType=INTEGER}
and password=#{password,jdbcType=INTEGER} </update>
第二种方法:(不使用@Param注解)
Dao层的方法:
void setAgeAndScore(String username,String password,String age,String score);
对应的Mapper.xml:
<update id="setAgeAndScore" parameterType="com.***.***.pojo.Student"> update User set age = #{2,jdbcType=VARCHAR}, score = #{3,jdbcType=VARCHAR} where username = #{0,jdbcType=INTEGER} and password=#{1,jdbcType=INTEGER} </update>