解決mybatis plus報(bào)錯(cuò)Invalid bound statement (not found):問題
mybatis plus報(bào)錯(cuò)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)
上述日志詳情。
解決方案
我是因?yàn)?,在啟?dòng)類和配置類都進(jìn)行類MapperScaner的聲明
保留一個(gè)配置就可以了,這倆配置沖突。
還有以下幾種方向進(jìn)行分析問題
檢查是不是引入 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 無法進(jìn)行預(yù)注入
- 檢查是否指定了主鍵?如未指定,則會(huì)導(dǎo)致 selectById 相關(guān) ID 無法操作,請(qǐng)用注解 @TableId 注解表 ID 主鍵。當(dāng)然 @TableId 注解可以沒有!但是你的主鍵必須叫 id(忽略大小寫)
- SqlSessionFactory不要使用原生的,請(qǐng)使用MybatisSqlSessionFactory
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- MyBatis嵌套查詢collection報(bào)錯(cuò):org.apache.ibatis.exceptions.TooManyResultsException
- mybatis-plus報(bào)錯(cuò)Not Found TableInfoCache異常問題
- 解決MybatisPlus批量插入數(shù)據(jù)報(bào)錯(cuò):Error getting generated key or setting result to parameter object問題
- 解決Mybatis報(bào)錯(cuò):org.apache.ibatis.reflection.ReflectionException: There is no getter for property named問題
相關(guān)文章
springboot實(shí)現(xiàn)發(fā)送郵件(QQ郵箱為例)
這篇文章主要為大家詳細(xì)介紹了springboot實(shí)現(xiàn)發(fā)送郵件,qq郵箱代碼實(shí)現(xiàn)郵件發(fā)送,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-06-06java中Map如何根據(jù)key的大小進(jìn)行排序詳解
這篇文章主要給大家介紹了關(guān)于java中Map如何根據(jù)key的大小進(jìn)行排序的相關(guān)資料,有時(shí)候我們業(yè)務(wù)上需要對(duì)map里面的值按照key的大小來進(jìn)行排序的時(shí)候我們就可以利用如下方法來進(jìn)行排序了,需要的朋友可以參考下2023-09-09Mybatis Plus使用條件構(gòu)造器增刪改查功能的實(shí)現(xiàn)方法
這篇文章主要介紹了Mybatis-Plus使用條件構(gòu)造器增刪改查,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-05-05