解决:nested exception is org.apache.ibatis.binding.BindingException: Parameter ‘XXX‘ not found
关于加注解,其他博客说的很清楚!但是有的人会遇见明明利用的springboot2.x以上版本,仍旧提示必要加注解!这是为什么?
标题解答:jdk版本如果在1.8或以下就会遇见这个标题,由于字节编码方式不同了
历史原因:
在Java8之前,可以说你无法做到(你是不大概读取这个 id) 的,由于Java在编译的时候会将 String deviceId编译为 String arg0,然而Java8中新增了这样的一个特性,你可以在编译的时候设定保留参数名称.详见源码分析
错误总结:
注: 利用jdk1.7得到的是: [1, 0, param1, param2]
利用1.8得到的则是: [arg1, arg0, param1, param2]
idea有时可以不加@Param,那么它 对我的代码做了什么?
但是 你如利用的是idea ,即时不写@Param 也能成功,原因是
IDEA编译时采取了逼迫保持方法参数变量名,但必要满足如下
- 必须是jdk8或以上
- 编译器参数-parameters
我用1.8实际运行起来依然不行,以是发起大家照旧加上注解
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |