報錯信息: 根本原因: 一是配置文件,二是註解。 網上總結的一般原因:Mapper interface和xml文件的定義對應不上,需要檢查包名,namespace,函數名稱等能否對應上。按以下步驟一一執行:1、檢查xml文件所在的package名稱是否和interface對應的package名稱一一 ...
報錯信息:
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.study.server.mapper.UserMapper.insert at org.apache.ibatis.binding.MapperMethod$SqlCommand.<init>(MapperMethod.java:227) at org.apache.ibatis.binding.MapperMethod.<init>(MapperMethod.java:49) at org.apache.ibatis.binding.MapperProxy.cachedMapperMethod(MapperProxy.java:65) at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:58) at com.sun.proxy.$Proxy88.insert(Unknown Source)
根本原因:
一是配置文件,二是註解。
網上總結的一般原因:
Mapper interface和xml文件的定義對應不上,需要檢查包名,namespace,函數名稱等能否對應上。
按以下步驟一一執行:
1、檢查xml文件所在的package名稱是否和interface對應的package名稱一一對應
2、檢查xml文件的namespace是否和xml文件的package名稱一一對應
3、檢查函數名稱能否對應上
4、去掉xml文件中的中文註釋
5、隨意在xml文件中加一個空格或者空行然後保存
項目中的解決方法:
第一種可能:在使用IDEA開發時,如果打包時*Mapper.xml沒有自動複製到class輸出目錄的mapper類包下,則需要在pom文件中添加mybatis載入配置文件的配置!
如下:
<build> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> </includes> </resource> <resource> <directory>src/main/resources</directory> </resource> </resources> </build>
通過在pom文件中添加mybatis載入配置文件,完美解決遇到的問題了
第二種可能:如果你的項目類似功能無問題,那麼問題可能出在了mybatis配置問題,載入mapper.xml時出來問題。
<mapper resource="mybatisMapper/GiftTypeEntityMapper.xml"></mapper>
以上方案則為博主查找到的解決此問的所有方法
上文出自胖胖,轉載請附帶原文鏈接
後續更新自學的方法,以及java知識總結
我是哪怕前路坎坷,也不願負年輕的胖胖,自學之路,共勉