解決多模塊項(xiàng)目中Mybatis的Mapper內(nèi)部方法找不到的問題
程序運(yùn)行過程中出現(xiàn)的問題
我要使用Mybatis插入一條數(shù)據(jù),提示我找不到 insert 方法或者提示找不到其它的方法!
假如你也有和我一樣的問題,找了好久又找不到解決辦法,路徑核對(duì)了N遍,Mapper.xml配置文件也都中規(guī)中矩的寫在了工程的resources下,還是有問題,那就靜下心往下看 雖然解決的辦法不一定能幫到你,但是也請(qǐng)?jiān)囈辉嚕?/p>
以下是報(bào)錯(cuò)的截圖
org.apache.ibatis.binding.BindingException:Invalid bound statement (not found): com.miu.mabatistest.mapper.ServerMapper.insert
我的問題出現(xiàn)在Maven多模塊工程上,Mybatis是單獨(dú)一個(gè)模塊用于CRUD操作,被其它模塊調(diào)用!
實(shí)體類,Mapper接口,還有Mapper.xml配置文件都是使用Mybatis的 generator 插件自動(dòng)生成出來的,路徑我核對(duì)了一遍又一遍,網(wǎng)上找了各種解決辦法,毫無頭緒,后來為了測(cè)試到底是哪出的問題我在Mapper接口中,自己寫了一個(gè)查詢所有的方法,使用注解的方式!
后來我運(yùn)行程序測(cè)試了一下我用注解的方式寫的 findAll方法,一點(diǎn)問題沒有,都查出來了,很奇怪,注解的方式就可以,xml的方式就不行,這就證明了問題就在于我的Mapper.xml配置文件不好使啊,并沒有被加載讀??!
解決方法
在你的application.properties配置文件中,加入mybatis的配置
雖然之前你沒有配置程序依然正常啟動(dòng),啟動(dòng)程序的時(shí)候不報(bào)錯(cuò),是因?yàn)槟悴粚?,程序就干脆不給你加載!
把Mybatis掃描xml的路徑給配上去,就可以了!
這里還有個(gè)小問題就是,如果你是多模塊工程,mybatis也是分離的模塊,那么你的application.properties 文件或者是applicaion.yml文件是不在mybatis模塊中的,基本都在你的啟動(dòng)類里面配置,那么路徑上就需要寫成 classpath* :你Mapper.xml的位置 這塊可能不好理解,給你貼個(gè)我的結(jié)構(gòu)圖和路徑圖,classpath后面寫個(gè)星,是因?yàn)橐獟呙嫠心K,如果你不寫它只會(huì)掃面它自己這一個(gè)模塊!
如果是單一結(jié)構(gòu)的工程,直接寫路徑就完事了,就那么一個(gè)路徑別說你寫不明白!
此圖是我gateway模塊中的application.properties文件的截圖
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
java高并發(fā)寫入用戶信息到數(shù)據(jù)庫(kù)的幾種方法
本文主要介紹了java高并發(fā)寫入用戶信息到數(shù)據(jù)庫(kù)的幾種方法,具有很好的參考價(jià)值。下面跟著小編一起來看下吧2017-03-03Java 中的FileReader和FileWriter源碼分析_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
本文給大家分享一段示例程序,通過示例代碼可以看出FileReader是基于InputStreamReader實(shí)現(xiàn)的,FileWriter是基于OutputStreamWriter實(shí)現(xiàn)的,具體程序代碼大家通過本文了解下吧2017-05-05Java 遞歸遍歷實(shí)現(xiàn)linux tree命令方式
這篇文章主要介紹了Java 遞歸遍歷實(shí)現(xiàn)linux tree命令方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09Spring框架設(shè)值注入操作實(shí)戰(zhàn)案例分析
這篇文章主要介紹了Spring框架設(shè)值注入操作,結(jié)合具體實(shí)例形式分析了spring框架設(shè)值注入相關(guān)實(shí)現(xiàn)與使用方法,需要的朋友可以參考下2019-11-11Java連接操作Oracle數(shù)據(jù)庫(kù)代碼詳解
這篇文章主要介紹了Java連接操作Oracle數(shù)據(jù)庫(kù)代碼詳解的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-06-06Java中CompletableFuture?的詳細(xì)介紹
這篇文章主要介紹了Java中的CompletableFuture,通過創(chuàng)建?CompletableFuture?的對(duì)象的工廠方法展開詳細(xì)的內(nèi)容介紹,需要的小伙伴可以參考一下2022-05-05淺談JAVA工作流的優(yōu)雅實(shí)現(xiàn)方式
這篇文章主要介紹了淺談JAVA工作流的優(yōu)雅實(shí)現(xiàn)方式,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-11-11form表單回寫技術(shù)java實(shí)現(xiàn)
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)form表單回寫技術(shù)的相關(guān)資料,需要的朋友可以參考下2016-04-04