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

網上已經有不少文章說明可能致使這個報錯的緣由,無非是如下幾種:
1.檢查xml文件的namespace是否正確java

2.Mapper.java的方法在Mapper.xml中沒有,而後執行Mapper的方法會報此sql

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

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

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


若是所有檢查了一遍,還發現沒有問題,最好看下本身的配置文件,那時候頗有多是配置少了掃描mapper的東西:get

在建立SqlSessionFactory的時候,加了如下配置:io

sqlSessionFactoryBean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mapper/*.xml"));
sqlSessionFactoryBean.setTypeAliasesPackage("com.test.maper");
並且注意sqlSessionFactoryBean.setTypeAliasesPackage參數不支持通配符*,若是有多個包能夠經過","等分割class

若是須要加載依賴傳遞過來的jar包中的mapper目錄下的xml,classpath:mapper/*.xml 修改成classpath*:mapper/*.xmltest

相關文章
相關標籤/搜索