Invalid bound statement (not found)问题解决

1. 问题背景
前几天在开发Springboot项目中遇到如标题的报错,具体报错信息如下:
报错信息
2. 问题分析
报错的大概是因为没有找到mapper对应的.xml文件。按照网上给出的可能出错的原因都检查了一遍,发现都不是这些原因。排查了几个小时后我偶然发现target文件中Mapper类和对应的.xml文件不在同一个文件夹,如图所示:
问题分析
mapper文件在com.sky文件夹下,而mapper对应的.xml文件是在com的包下。神奇的是我的项目文件只有一个com.sky的包啊,如下图
Invalid bound statement (not found)问题解决_第1张图片
经分析发现在我项目文件的com.sky并不是一个多级的包而是一个包。
在这里插入图片描述
可能idea在编译的时候由于我的文件“com.sky”中间有“.”造成idea把.xml和mapper文件生成在不同的包下,最终导致mapper找不到对应的.xml文件而报错。

3. 解决方法
将com.sky的包删除,重新创建包如下图
Invalid bound statement (not found)问题解决_第2张图片
编译后target中的mapper和.xml都在com文件夹下了,如下图:
在这里插入图片描述
重新运行程序,程序运行正常。

你可能感兴趣的:(问题排查)