【注意】触发这种报错有两种情况:
- 报错信息展示:
- 情况一:
- 情况二:
- 项目背景:
- 报错还原:
- 情况一:
- 情况二:
- 报错原因:
- 情况一:
- 情况二:
- 解决方案:
- 情况一:
- 情况二:
我立志做一名把细节都说清楚的博主,欢迎关注🎉 ~
原创不易,有帮助还请鼓励个【赞】哦,谢谢无敌可爱帅气又迷人的小哥哥、小姐姐,爱你哦 ❥(^_-)~
报错信息展示:
情况一:
org.apache.ibatis.exceptions.PersistenceException:
### Error querying database. Cause: org.apache.ibatis.binding.BindingException: Parameter 'XXXX' not found. Available parameters are [arg2, arg1, arg0, param3, param1, param2]
### Cause: org.apache.ibatis.binding.BindingException: Parameter 'XXXX' not found. Available parameters are [arg2, arg1, arg0, param3, param1, param2]
情况二:
org.apache.ibatis.exceptions.PersistenceException:
### Error updating database. Cause: org.apache.ibatis.binding.BindingException: Parameter 'XXXX' not found. Available parameters are [product, param1]
### The error may exist in mapper/ProductMapper.xml
### The error may involve com.example1.example2.dao.ProductMapper.updateProduct
### The error occurred while executing an update
### Cause: org.apache.ibatis.binding.BindingException: Parameter 'XXXX' not found. Available parameters are [product, param1]
项目背景:
- SSM项目
报错还原:
情况一:
// 错误示范:该方法需要传参3个,但没有使用@Param注解。
List<Product> selectAllProduct(Product productCondition,
int beginIndex,
int pageSize);
情况二:
// 错误示范:该方法需要的参数仅有1个,但任然使用@Param注解。
int updateProduct(@Param("product") Product product);
报错原因:
情况一:
- 项目DAO层方法传输参数达到2个及2个以上,程序无法分辨所对应的参数,从而发生报错。
情况二:
- 仅需一个传参,也使用@Param注解而报错。
解决方案:
情况一:
- 给每一个需要传参的参数加上@Param注解。
// 正确示范:该方法需要传参3个,但没有使用@Param注解。
List<Product> selectAllProduct(@Param("productCondition") Product productCondition,
@Param("beginIndex") int beginIndex,
@Param("pageSize") int pageSize);
情况二:
- 将仅有一个需要传参的参数去除@Param注解。
// 正确示范:该方法需要的参数仅有1个,无需使用@Param注解。
int updateProduct(Product product);
我立志做一名把细节都说清楚的博主,欢迎关注🎉 ~
原创不易,有帮助还请鼓励个【赞】哦,谢谢无敌可爱帅气又迷人的小哥哥、小姐姐,爱你哦 ❥(^_-)~
更多推荐
【报错解决】Parameter ‘XXXX‘ not found. Available parameters are [XXXX1, XXXX2]
发布评论