【mybatis】传参异常:Parameter ‘xxx‘ not found. Available parameters are [xxx,xxx, param1,param2]

造成该异常可能的原因有:

1、多个传参没有用@Param注解,或者注解导入的包有误。

2、#{xxx}填写错误;

3、#{xxx}遗漏,特别是有些写在select里的;

4、写在bean类里,后面新需求增加变量的,没有加上bean的前缀:"bean.xxx";

5、在xml文件里不需要的变量,特别是包含了#{}的,使用不正确的注释方式注掉的,也会报错。比如--后面没空格直接跟字段,所以一般不推荐在xml文件的SQL里加注释。不得不用注释的话,就使用<!-- 注释 -->这种标准的xml文件的注释方式,不要使用oracle的--或者mysql的##,这样做的好处除了不会报错外,注释的内容也不会输出到控制台(--或者## 会写在debug日志里)。(顺便一提,xml里格式化最好也不要碰,之前有过一次格式化后把一个注释的SQL换行了结果换的行没有自动加上注释,然后报错了,溯源发现居然是自己提交的代码,但是自己毫无印象的经历。)

 

posted @ 2023-08-07 14:44  BerserkD  阅读(1484)  评论(0编辑  收藏  举报