记录一个今天让我感觉很烦人的错误!
今天想再练习一下SpringBoot整合mybatis用xml文件来实现数据库的功能。
结果在配置xml文件后,被Invalid bound statement (not found): com.lianxi.service.MhPageService.selectAll这个错误挡住了。
在网上搜到了好多类似Invalid bound statement (not found): 的错误,意思就是mapper没有和xml文件映射上。跟着网上一些修改方案,修改了一些东西还是不起作用。
我最开始查看了一下内容:
先是看自己xml中的namespace中是否是mapper文件的路径
再看自己的查询语句的id是否对应上mapper中对应的方法名,还有如果方法的返回值类型是一个List集合,要使用resultMap,而不是resultType.
resultMap中的名称对应的是它的id值,如下所示:
mapper层的方法语句:
检查了我上面的语句后,发现都没有错误。
然后又在.yml文件中配置了以下信息。
还是不起作用,
然后我在Controller层不调用service层,直接调用mapper层,发现可以实现。认为问题应该是出现在service层的调用上。
最后发现有个帖子的评论说,是因为@MapperScan中的扫描范围太大,导致service层也被包装了,把范围缩小的mapper层下。
然后尝试了下,发现可以正常使用了!