mybatis mapper.xml --注释 带参数的坑

在这里插入图片描述
一看Parameter index out of range参数越界,没有任何问题,就去CSDN各种查询资料各种处理办法,奈何都不是自己想要的,如果你和我一样,是在mybatis的Mapper.xml文件出错了,那你别走,大概率和我的出错一样,相信你和我一样已经快崩溃,各位博主所说都不是自己想要的,好,不再逼逼,想必和你的错误一样,但我知道你已经知道是参数的问题,你想要的只是找到问题到底出在哪里,那我会直接告诉你,你看你的Mapper.xml的配置文件,
在这里插入图片描述

罪魁祸首

是否和我一样就是这个注释里面又一次出现了 #{id},目前因为没有看Mybatis源码,大概猜一下就是因为Mybatis源码会把注释里面这个#{id}也当作占位符,当作一个参数,所以,解决办法就是把注释删掉,或者注释中不要出现#{id}。看图完美解决。
在这里插入图片描述

那么,如果你的问题解决了,恭喜你,mybatis mapper.xml --注释 带参数的坑我们一起踩了一次!其实我想回顾一下我排错的过程,与其说是排除,不如说是接近崩溃后发现问题的巧合。

爱猫狗的小郝_mybatis mapper.xml --注释 带参数的坑 脱发记录。

观察了半天,没发现问题所在,所以第一反应是不是自己单词拼写出错,找来找去觉得没问题,无奈之下,孩子这时候已经快疯,那就把sql语句放在navicat中跑一下,你看
在这里插入图片描述
一看,sql语句并没有错误,那会不会是自己Bean类没对应上呢?
在这里插入图片描述
仔细比对,没有问题,那会不会是Bean类的属性的名字和Mapper.xml配置文件中的列名不同,得,改个名字看看
在这里插入图片描述
很不幸运,仍然是失败告终,接下来,孩子就怀疑人生了!你别笑,我开始怀疑我
在这里插入图片描述
配置文件前面这些是不是拼写错了,(明知道不会拼写错,下面关键字已经提示,如果出错,不会显示得)可是孩子已经疯了
,就再次去百度,结果显然还是得到了一堆越界得处理问题,#{} ${} 单双引号中英文空格等等等等我以后可能遇见得问题,但是,今天我想要的不是这些,我没办法了。那就和室友写的代码对应一下看看,这是室友的!
在这里插入图片描述
然后!就各种对应,一点点看,别问我用了多少时间,我不会告诉你这个问题折磨了我3小时,最后发现我多了个注释,注释去掉完美解决。接下来就想注释是一个好的习惯,这里竟然因为它出了这问题,再想想,立马就想到了不是注释本身得问题,是注释中又一次出现了#{id},大胆测试,保留注释,但是注释中不出现#{id},答案是显然得,也不会报错,得,找到你了,你这个坏东西,藏得太深,接下来就想是不是mybatis源码把它又一次当作了占位符参数?

大佬们,你们知道是不是这个问题呢?是不是mybatis源码把它又一次当作了占位符参数?有知道得可以在评论区告诉我么!

发布了80 篇原创文章 · 获赞 207 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/qq_43518645/article/details/104579767