-
一、问题的出现:
调试代码的时候,把mapper.xml中的方法暂时的注释掉了,之后解除注释后,就出现了这个错误。具体报错如下:
-
二、解决方法:
1 . mapper.xml中的namespace和实际的mapper文件不一致。
如图中的 namespace,需要和实体类中的mapper一 一对应,否则就会报错。如下图一样,copy reference后放到namespace中就可以解决问题。
2 . mapper接口中的方法名和mapper.xml中的id标签不一致
如下图,select id=“xxxxx” ,xxxxx需要和mapper接口中的方法名一致。
此两处的 findbyid 是需要保持一样的。
3 . target目录下的mapper.xml文件内容与当前的不一致,或者没有构建进target目录。
target目录路径如下图:
(1) target目录下的 mapper.xml 文件内容与当前的不一致
target 文件下的 mapper.xml:
当前的 mapper.xml:
可以看到target中的被我当时注释掉的。把注释去掉就解决问题了。
(2)没有构建进target目录。
在IDEA终端执行下面的代码 :
mvn clean
mvn compile