最近在使用Mybatis来传参的时候,遇到了一个异常,是什么呢?
是org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter 'name' not found. Available parameters are [id, user, param1, param2]这个异常,
查看了一下原因控制台提示我:Caused by: org.apache.ibatis.binding.BindingException: Parameter 'name' not found. Available parameters are [id, user, param1, param2],遇到这个问题秉承着有问题找度娘的原则,去搜索了这个异常,结果发现大家大部分出现这个异常的原因是因为在Mapper的接口文件中,传多个参数时,没有加上@Param这个注解导致的
而不加这个注解的异常的原因是:by: org.apache.ibatis.binding.BindingException: Parameter 'user' not found. Available parameters are [0, 1, param1, param2],和我加了注解的异常不一样,于是感觉很抓狂了。
开始一点点的试验之旅,最后发现,
在Mapper的Xml文件中的方法,进行非空判断和确定值的时候,需要使用传的user.属性的方式才可以通过,才能找到传的值