Invalid bound statement (not found) 終極解決辦法


網上已經有很多文章說明可能導致這個報錯的原因,無非是以下幾種:
1.檢查xml文件的namespace是否正確

2.Mapper.java的方法在Mapper.xml中沒有,然后執行Mapper的方法會報此

3.xxxMapper.java的方法返回值是List,而select元素沒有正確配置ResultMap,或者只配置ResultType

4.如果你確認沒有以上問題,請任意修改下對應的xml文件,比如刪除一個空行,保存.問題解決

5.看下mapper的XML配置路徑是否正確


如果全部檢查了一遍,還發現沒有問題,最好看下自己的配置文件,那時候很有可能是配置少了掃描mapper的東西:

在創建SqlSessionFactory的時候,加了以下配置:

sqlSessionFactoryBean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mapper/*.xml"));
sqlSessionFactoryBean.setTypeAliasesPackage("com.test.maper");
而且注意sqlSessionFactoryBean.setTypeAliasesPackage參數不支持通配符*,如果有多個包可以通過","等分割

如果需要加載依賴傳遞過來的jar包中的mapper目錄下的xml,classpath:mapper/*.xml 修改為classpath*:mapper/*.xml


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM