解決Spring boot整合mybatis,xml資源文件放置及路徑配置問(wèn)題
網(wǎng)上各種解決方案,我試了好久,整合了幾篇文章才湊出來(lái),在這里分享一下,實(shí)在不想網(wǎng)友們?cè)谶@里面繞圈子,畢竟,寫(xiě)代碼的時(shí)間是愉快的,解決bug也是愉快的,但也是一直在bug里面繞圈子就不爽了。
親自試驗(yàn):
1) 我的mapper和xml是這樣子放置的

2) 在.xml中namespace是這樣的:

3) application.properties中mybatis.mapper-locations得這么配置到xml

4) 最后呢,你只要在pom.xml中build下這樣配置

5) 按照我這種位置防止,把響應(yīng)的包名換成自己的,就基本上不會(huì)沒(méi)有什么問(wèn)題的。
也不用去加什么*Application中去加什么注解@MapperScan(value = "com.acme.shop.mapper")什么的了,不需要呢。
補(bǔ)充知識(shí):mybatis-plus的 mapper.xml 路徑配置的坑
問(wèn)題:
在SpringBoot整合MyBatis時(shí),若mapper映射文件在java路徑下,就會(huì)一直報(bào)錯(cuò)Invalid bound statement (not found): xxx.xxxMapper.selectxx

說(shuō)明Mapper接口是可以調(diào)用到的,問(wèn)題就出在無(wú)法映射到Mapper.xml文件。
同時(shí)查看輸出target目錄下,沒(méi)有xxxmapper.xml文件的編譯結(jié)果。
原因:
SpringBoot默認(rèn)配置情況下,只有resources路徑下的xml文件會(huì)被掃描。
解決辦法:
方法一:【推薦使用】
將mapper映射文件放在resources目錄下,通常會(huì)在resources目錄下建一個(gè)mapper目錄,存放各種mapper的映射文件,

并且在application.properties中配置 Mapper映射文件的路徑為:
#指定myBatis的核心配置文件與Mapper映射文件
mybatis.mapper-locations=classpath:mapper/*.xml
測(cè)試成功,查看target目錄下,有xxxMapper.xml文件的編譯結(jié)果。

方法二:
mapper映射文件依舊放在java目錄下,

此時(shí),需要在pom.xml文件中添加java路徑下xml文件掃描配置,
<build>
<resources>
<resource>
<filtering>true</filtering>
<directory>${basedir}/src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
<resource>
<directory>${basedir}/src/main/java</directory>
<excludes>
<exclude>**/*.xml</exclude>
</excludes>
</resource>
</resources>
</build>
并且在application.properties中配置 Mapper映射文件的路徑時(shí)要加上包名,
#mybatis.mapper-locations=classpath:包名/*.xml
mybatis.mapper-locations=classpath:org.xiao.dao/*.xml
測(cè)試成功,查看target目錄下,有xxxMapper.xml文件的編譯結(jié)果。

以上這篇解決Spring boot整合mybatis,xml資源文件放置及路徑配置問(wèn)題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
java用靜態(tài)工廠代替構(gòu)造函數(shù)使用方法和優(yōu)缺點(diǎn)
這篇文章主要介紹了java用靜態(tài)工廠代替構(gòu)造函數(shù)使用方法和優(yōu)缺點(diǎn),需要的朋友可以參考下2014-02-02
Java中使用Preferences 的 API設(shè)置用戶偏好
這篇文章主要介紹了Java中使用Preferences 的 API設(shè)置用戶偏好的方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-09-09
零基礎(chǔ)入門(mén)學(xué)習(xí)——Spring Boot注解(一)
這篇文章主要介紹了Spring Boot注解學(xué)習(xí)(一)要點(diǎn),非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧2017-05-05
Spring Boot Mysql 數(shù)據(jù)庫(kù)操作示例
本篇文章主要介紹了Spring Boot Mysql 數(shù)據(jù)庫(kù)操作示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-02-02
java連接hdfs ha和調(diào)用mapreduce jar示例
這篇文章主要介紹了Java API連接HDFS HA和調(diào)用MapReduce jar包,需要的朋友可以參考下2014-03-03

