maven 專案,mybatis報錯org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):
阿新 • • 發佈:2018-12-19
maven管理的spring專案在打包install啟動後,mybatis報錯org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): …
錯誤描述:
專案使用mybatis作為持久層,整體框架使用spring-boot搭建,啟動正常,在查詢資料庫時,就會報錯,經過檢查mapper.xml檔案等等,發現namespace,介面方法名等等都沒有寫錯,又因為是打包後才會報錯,在打包前作測試沒有錯誤。斷定是打包後出現問題檢查結果:
檢查target檔案目錄下的mapper.xml檔案,竟然發現沒有xml檔案,定位錯誤(在使用maven進行模組開發時,用的mybaties,會將配置檔案放到dao層,而dao層的型別是jar,在打jar包時只會打包java檔案,會將一些mapper對映檔案或者properties檔案給過濾掉,部署的時候會報找不到mapper配置檔案等錯誤)解決辦法,在pom檔案中新增如下配置解決
<build>
<resources>
<resource>
<directory>src/main/resources/</directory>
<filtering>false</filtering>
<includes>
<include>**/*.properties</include >
<include>**/*.xml</include>
<include>**/*.txt</include>
<include>**/*.ico</include>
</includes>
</resource>
<resource>
<directory> src/main/java/</directory>
<filtering>false</filtering>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
</build>