記錄一些自己犯過的錯誤和一些異常信息 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): 綁定異常 mapper和xml文件綁定問題 第一步:先看看xml文件的namespace是否對應著m ...
記錄一些自己犯過的錯誤和一些異常信息
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
然後重啟伺服器就可以了。