MyBatis异常Parameter 'xxxx' not found …… 即mybatis内部提示说xxxx参数找不到
一开始以为在xml配置文件,经过核实,没有发现问题。
后来发现mybatis在mapper.java的方法中当传入多个参数时,必须要对参数名称进行绑定,否则在执行mapper.xml中的sql时,会出现参数找不到的情况,于是在mapper.java的方法中加上@param绑定名称后就可以了。
例如java代码:
List getProductValues(@Param("productId") String productId, @Param("status") Integer status);
如果不加@param注解,就会报错如下:
Parameter 'status' not found.Available parameters are [1, 0, param1, param2]
这里让人很不解,也许是我的配置没有设置好,理论上如果没有注解,mybatis是否应该默认已参数名称做为绑定名称来执行呢,这样的话就可以少了很多配置且不会遗漏。