报错信息:Invalid bound statement(not found)
报错原因:出现这种问题目前我遇到的主要有两种情况,根本原因是mapper方法跟mapper的xml文件不在同级目录下,映射的时候找不到。
为什么会出现找不到的情况呢:
(1)建包的时候注意自己建的包是否是分层的(可能肉眼看到的跟你实际的建包情况不符合,在解决方法中会提到)。
(2)resource包并不是root包。
解决方法:
(1)针对第一种情况:将他们改到同级目录下就ok了。
课外拓展:用idea得小伙伴要留意在java下建包和在resource下建目录得区别得坑,大家仔细看下面resource下的得包,
实际上得包结构:
针对以上得情况,跟大家说一下用idea做项目建包得问题,如果你在java层下去建包,如new->package 输入a.b.c,建完后得包结构是a/b/c;而在resource下建目录,如:new->directory 输入a.b.c,建完后它很实在,结构就是a.b.c/ 在这输入得就是个名字。
如果是用的springboot搭建的项目,在配置中配置以下信息也不用将mapper跟.xml文件放在同一个目录下了:
mybatis.mapperLocations=classpath:mapper/*.xml
(2)针对第二种情况,将resource包标记为root包,方法:在resource包上面右键在菜单中选择,mark directory as ->resources root 。