记录一些自己犯过的错误和一些异常信息
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): 绑定异常 mapper和xml文件绑定问题
第一步:先看看xml文件的namespace是否对应着mapper接口(也就是DAO接口),namespace要对应DAO的全限定类型名
第二步:看看xml文件中对应的sql语句的id值是不是DAO接口中的方法名
(以上两步建议 cv 不容易出错,或者使用MybatisX插件) 如果以上都没有问题还是出现这个异常
第三部:在idea的target文件中看看mapper文件夹中是否有对应的xml文件,我这里放的是没有(这是使用的maven,用的是MybatisX插件)
这是问题是maven的默认加载机制造成的,maven在src/main/java文件夹下只会加载.java文件,不会加载xml文件类型的文件
解决办法:
方法一:将xml文件夹复制到target中对应的mapper文件夹中(不常用 麻烦)
方法二:将xml文件夹方法Resources文件中(非常不建议,因为这样改变了项目结构,也不好找)
方法三:推荐推荐!!!建议用这个 通过配置实现
在pom.xml中配置 或者在 application.properties中配置
(1)pom.xml方式
<build>
<!--强制找包的资源文件-->
<resources>
<resource>
<!--在这个文件包含加载-->
<directory>src/main/java</directory>
<includes>
<!--
这里一定要两个*号**/
*/表示单层目录
**/表示里面的多层目录
-->
<include>**/*.xml</include>
</includes>
</resource>
<!--这是resources文件夹中的其他配置文件-->
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.xml</include>
<include>**/*.properties</include>
</includes>
</resource>
</resources>
</build>
(2)application.properties中配置
#配置mapper.xml文件的路径
mybatis-plus.mapper-locations=classpath:com/wz/eduservice/mapper/xml/*.xml
然后重启服务器就可以了。
来源:https://www.cnblogs.com/ashes001/p/16134302.html
本站部分图文来源于网络,如有侵权请联系删除。