Invalid bound statement


IDEAエラー:Invalid bound statement(not found):comp.test.mapper.UserMapper.selectByPrimary Key(転送:https://www.cnblogs.com/woshimrf/p/5138726.html)
http://blog.csdn.net/z69183787/article/details/48933481;
原因:(参考:http://www.linuxidc.com/Linux/2015-06/118877.htm)
IDEAのMavenプロジェクトでは、デフォルトソースディレクトリのxmlなどのリソースファイルはコンパイル時に一括してclasesフォルダに梱包されるのではなく、そのまま破棄されます.
Eclipseを使用すると、Eclipseのsrcディレクトリの下のxmlなどの資源ファイルがコンパイルされた時に自動的にclasesフォルダに梱包されて出力されます.HibernateとSpringは、設定ファイルをsrcディレクトリの下に置く場合があります.コンパイル後、一つのブロックをclasesフォルダに梱包するため、xmlなどのリソースファイルをソースコードディレクトリの下に置く必要があります.
解決:
方法1:xmlやpropertiesなどのプロファイルをresourceにセットし、mapper.xmlを登録する場所など、プロファイルを取得するコードを変更します.

 
 
 
方法2:mavenにフィルターを加える:
 
 1  
 2         
 3             
 4                 src/main/resources
 5                 
 6                     **/*.properties
 7                     **/*.xml
 8                 
 9                 true
10             
11             
12                 src/main/java
13                 
14                     **/*.properties
15                     **/*.xml
16                 
17                 true
18             
19         

 
方法3:mybatisの自動代理設定を採用して、mapperファイルとxmlファイルの同名の同梱をして、sql Map.xml(mybatis-config.xml)にmapper自動登録スキャンパッケージを配置する:
 1 
 2         
 3         
 4          
 5         
 6         
10          
11         
12         
17         
18 
19     

方法四:
ディレクトリは以下の通りです
Invalid bound statement_第1张图片
 yml   

mybatis:
  mapperLocations: classpath:sqlmap/*.xml

  :    xml