解決mybatis plus報錯Invalid bound statement (not found):問題
mybatis plus報錯Invalid bound statement (not found):
出現(xiàn)Invalid bound statement (not found) 異常
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.yk.yearmeet.modular.service.UserService.list
at com.baomidou.mybatisplus.core.override.PageMapperMethod$SqlCommand.<init>(PageMapperMethod.java:261)
at com.baomidou.mybatisplus.core.override.PageMapperMethod.<init>(PageMapperMethod.java:58)
at com.baomidou.mybatisplus.core.override.PageMapperProxy.cachedMapperMethod(PageMapperProxy.java:70)
at com.baomidou.mybatisplus.core.override.PageMapperProxy.invoke(PageMapperProxy.java:63)
at com.sun.proxy.$Proxy72.list(Unknown Source)
at com.baomidou.mybatisplus.extension.service.IService.list(IService.java:279)
at java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:627)
at com.baomidou.mybatisplus.core.override.PageMapperProxy.invokeDefaultMethod(PageMapperProxy.java:89)
at com.baomidou.mybatisplus.core.override.PageMapperProxy.invoke(PageMapperProxy.java:58)
at com.sun.proxy.$Proxy72.list(Unknown Source)
at com.yk.yearmeet.oss.OssTest.serviceTest(OssTest.java:35)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
上述日志詳情。
解決方案
我是因為,在啟動類和配置類都進行類MapperScaner的聲明
保留一個配置就可以了,這倆配置沖突。
還有以下幾種方向進行分析問題
檢查是不是引入 jar 沖突
檢查 Mapper.java 的掃描路徑
方法一
在 Configuration 類上使用注解 MapperScan
@Configuration @MapperScan("com.yourpackage.*.mapper") public class YourConfigClass{ ... }
方法二
在Configuration類里面,配置MapperScannerConfigurer
@Bean public MapperScannerConfigurer mapperScannerConfigurer(){ MapperScannerConfigurer scannerConfigurer = new MapperScannerConfigurer(); //可以通過環(huán)境變量獲取你的mapper路徑,這樣mapper掃描可以通過配置文件配置了 scannerConfigurer.setBasePackage("com.yourpackage.*.mapper"); return scannerConfigurer; }
- 檢查命名空間是否正常? 檢查包掃描路徑typeAliasesPackage是否正常?如果掃描不到,MP 無法進行預(yù)注入
- 檢查是否指定了主鍵?如未指定,則會導(dǎo)致 selectById 相關(guān) ID 無法操作,請用注解 @TableId 注解表 ID 主鍵。當然 @TableId 注解可以沒有!但是你的主鍵必須叫 id(忽略大小寫)
- SqlSessionFactory不要使用原生的,請使用MybatisSqlSessionFactory
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
- MyBatis嵌套查詢collection報錯:org.apache.ibatis.exceptions.TooManyResultsException
- mybatis-plus報錯Not Found TableInfoCache異常問題
- 解決MybatisPlus批量插入數(shù)據(jù)報錯:Error getting generated key or setting result to parameter object問題
- 解決Mybatis報錯:org.apache.ibatis.reflection.ReflectionException: There is no getter for property named問題
相關(guān)文章
springboot實現(xiàn)發(fā)送郵件(QQ郵箱為例)
這篇文章主要為大家詳細介紹了springboot實現(xiàn)發(fā)送郵件,qq郵箱代碼實現(xiàn)郵件發(fā)送,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-06-06Mybatis Plus使用條件構(gòu)造器增刪改查功能的實現(xiàn)方法
這篇文章主要介紹了Mybatis-Plus使用條件構(gòu)造器增刪改查,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-05-05