mybatisplus報(bào)錯(cuò):Invalid bound statement(not found)問(wèn)題及解決
mybatisplus報(bào)錯(cuò):Invalid bound statement(not found)
有的同學(xué),在搭建mybatis plus項(xiàng)目時(shí),遇到Invalid bound statement (not found)的問(wèn)題。
實(shí)質(zhì)上是mapper接口和mapper.xml沒(méi)有映射起來(lái)。
這種情況,常見(jiàn)的問(wèn)題有以下幾個(gè):
1、mapper.xml 里面的 namespace與實(shí)際的mapper類(lèi)路徑不一致
- 這個(gè)有個(gè)快捷的檢測(cè)辦法就是按住ctrl鍵,然后點(diǎn)擊namespace里面的包名
- 如果能跳到對(duì)應(yīng)的類(lèi),那就說(shuō)明沒(méi)有問(wèn)題
- 如果你用的IDEA也是同樣的辦法,IDEA的包名是可以分段的,只要是能點(diǎn)進(jìn)去都沒(méi)問(wèn)題
2、mapper接口的函數(shù)名和mapper.xml里面的標(biāo)簽id不一致
這個(gè)問(wèn)題也很常見(jiàn),最好的辦法還是粘貼復(fù)制過(guò)去,這樣可以確保沒(méi)有問(wèn)題。
第1點(diǎn)和2點(diǎn)都是關(guān)于拼寫(xiě)錯(cuò)誤的情況。
3、構(gòu)建沒(méi)有進(jìn)去
請(qǐng)看一下target文件夾下面這些是否存在,沒(méi)有請(qǐng)重新構(gòu)建。
4、查看掃包是否添加
我的是添加在springboot啟動(dòng)類(lèi)上面的。
5、檢查配置文件是否寫(xiě)錯(cuò)
#這個(gè)地方是否寫(xiě)錯(cuò)
mapper-locations: classpath:mybatis/mapper/**/*.xml
mybatis-plus可以是這樣的配置-數(shù)組形式:
mybatis-plus: mapper-locations: - classpath:mybatis/mapper/**/*.xml
或者是
mybatis-plus: mapper-locations: classpath:mybatis/**/*Mapper.xml
注意:這個(gè)key是mapper-locations 而不是mapper-location:
其他配置:
mybatis-plus: global-config: #主鍵類(lèi)型 0:"數(shù)據(jù)庫(kù)ID自增", 1:"用戶(hù)輸入ID",2:"全局唯一ID (數(shù)字類(lèi)型唯一ID)", 3:"全局唯一ID UUID"; id-type: 0 #字段策略 0:"忽略判斷",1:"非 NULL 判斷"),2:"非空判斷" field-strategy: 0 #駝峰下劃線轉(zhuǎn)換 db-column-underline: true #刷新mapper 調(diào)試神器 refresh-mapper: true #數(shù)據(jù)庫(kù)大寫(xiě)下劃線轉(zhuǎn)換 #capital-mode: true #序列接口實(shí)現(xiàn)類(lèi)配置 #key-generator: com.baomidou.springboot.xxx #邏輯刪除配置(下面3個(gè)配置) #logic-delete-value: 0 # 邏輯已刪除值(默認(rèn)為 1) #logic-not-delete-value: 1 # 邏輯未刪除值(默認(rèn)為 0) #自定義填充策略接口實(shí)現(xiàn) #meta-object-handler: com.zhengqing.config.MyMetaObjectHandler #自定義SQL注入器 #sql-injector: com.baomidou.springboot.xxx configuration: # SQL 解析緩存,開(kāi)啟后多租戶(hù) @SqlParser 注解生效 #sql-parser-cache: true configuration: # 駝峰轉(zhuǎn)換 從數(shù)據(jù)庫(kù)列名到Java屬性駝峰命名的類(lèi)似映射 map-underscore-to-camel-case: true # 是否開(kāi)啟緩存 cache-enable: false # 如果查詢(xún)結(jié)果中包含空值的列,則 MyBatis 在映射的時(shí)候,不會(huì)映射這個(gè)字段 #call-setters-on-nulls: true # 打印sql log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
在navicat中導(dǎo)入mysql數(shù)據(jù)庫(kù)詳細(xì)步驟(即.sql后綴的數(shù)據(jù)庫(kù))
Navicat是MySQL非常好用的可視化管理工具,功能非常強(qiáng)大,能滿足我們?nèi)粘?shù)據(jù)庫(kù)開(kāi)發(fā)的所有需求,下面這篇文章主要給大家介紹了關(guān)于如何在navicat中導(dǎo)入mysql數(shù)據(jù)庫(kù)(即.sql后綴的數(shù)據(jù)庫(kù))的相關(guān)資料,需要的朋友可以參考下2023-04-04Java基于Swing實(shí)現(xiàn)的打獵射擊游戲代碼
這篇文章主要介紹了Java基于Swing實(shí)現(xiàn)的打獵射擊游戲代碼,包含完整的游戲事件處理與邏輯流程控制,具有不錯(cuò)的參考借鑒價(jià)值,需要的朋友可以參考下2014-11-11springboot hazelcast緩存中間件的實(shí)例代碼
這篇文章主要介紹了springboot hazelcast緩存中間件的實(shí)例代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-08-08Spring?Boot統(tǒng)一接口返回及全局異常處理
這篇文章主要介紹了Spring?Boot統(tǒng)一接口返回及全局異常處理,文章圍繞主題展開(kāi)相關(guān)資料,具有一定的參考價(jià)值需要的小伙伴可以參考一下2022-04-04淺談spring使用策略模式實(shí)現(xiàn)多種場(chǎng)景登錄方式
本文主要介紹了spring使用策略模式實(shí)現(xiàn)多種場(chǎng)景登錄方式,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12java搭建一個(gè)Socket服務(wù)器響應(yīng)多用戶(hù)訪問(wèn)
本篇文章主要介紹了java搭建一個(gè)Socket服務(wù)器響應(yīng)多用戶(hù)訪問(wèn),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-02-02