maven構建項目,mybatis主配置文件找不到mapper文件

報錯信息

Invalid bound statement (not found)

出現這種問題就是mapper文件無法和mapper接口映射,如果不是用maven構建,就可能是以下原因:

  1. mapper接口應該和mapper.xml在同級目錄
  2. mapper.xml的namespace對應mapper接口帶包名
  3. mapper.xml配置的語句標籤的id和mapper接口的方法名不對應,還有入參和輸出參數也須和方法的參數和返回結果對應
  4. 在mybatis主配置文件配置<mappers>在這裏掃描mapper.xml</mappers>

但是呢,用maven構建的話以上問題都不存在還是報錯解決方法

mapper配置文件和接口文件雖然在同一層,但是Maven編譯項目的時候只會把src/main/java下所有的*.java和src/main/resources裏的文件編譯放入target/classes文件夾,所以位於src/main/java下的xml文件就被忽略了。此時只需要在項目的pom文件中加入resources,把src/main/java下所有的*.xml也編譯放入target/classes然後啓動項目就可以了。
如圖:
在這裏插入圖片描述
代碼:

	<build>
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
            </resource>
        </resources>
    </build>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章