網(wǎng)站首頁 編程語言 正文
mybatis(mybatis-plus)報invalid bound statement (not found)或者找不到xml文件(各種情況)
作者:小徐敲java 更新時間: 2024-04-05 編程語言情況1:xml文件不在resource目錄下的必須使用絕對路徑
mybatis-plus:
# Mapper.xml 文件位置 Maven 多模塊項目的掃描路徑需以 classpath*: 開頭
# 實現(xiàn)接口綁定
mapper-locations: classpath*:com/example/clickhouse/mapper/**/xml/*Mapper.xml
情況2:查看yml文件是否添加mybatis配置(xml文件在resource目錄下)
mybatis-plus:
# Mapper.xml 文件位置 Maven 多模塊項目的掃描路徑需以 classpath*: 開頭
# 實現(xiàn)接口綁定
mapper-locations: classpath*:mybatis/xml/*Mapper.xml
情況3:區(qū)分使用的的版本是mybatis還是mybstis-plus,yml配置也不同(xml文件在resource目錄下)
#mybatis:
mybatis-plus:
# Mapper.xml 文件位置 Maven 多模塊項目的掃描路徑需以 classpath*: 開頭
# 實現(xiàn)接口綁定
mapper-locations: classpath*:mybatis/xml/*Mapper.xml
情況4:調(diào)用mybatis(mybatis-plus)的IService的查詢方法看是否也報這個錯誤,如果也報這個錯誤就是SqlSessionFactory手動注入了,如下
@Bean("sqlSessionFactory")
public SqlSessionFactory sqlSessionFactoryBean(DynamicDataSource dynamicDataSource) throws Exception {
//MybatisSqlSessionFactoryBean sessionFactory = new MybatisSqlSessionFactoryBean();
SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
sessionFactory.setDataSource(dynamicDataSource);
//sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath*:com/example/poi/mapper/**/xml/*Mapper.xml"));
return sessionFactory.getObject();
}
如上的方法永遠不會調(diào)用到mybatis的bean,需要修改成如下才行,同時在yml配置的mybatis都失效了,需要在SqlSessionFactory 設置,如設置讀取*Mapper.xml的路徑
@Bean("sqlSessionFactory")
public SqlSessionFactory sqlSessionFactoryBean(DynamicDataSource dynamicDataSource) throws Exception {
MybatisSqlSessionFactoryBean sessionFactory = new MybatisSqlSessionFactoryBean();
sessionFactory.setDataSource(dynamicDataSource);
/// 創(chuàng)建Configuration對象
MybatisConfiguration mybatisConfiguration = new MybatisConfiguration();
mybatisConfiguration.setLogImpl(org.apache.ibatis.logging.stdout.StdOutImpl.class); // 設置日志輸出到控制臺
sessionFactory.setConfiguration(mybatisConfiguration);
sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath*:com/example/poi/mapper/**/xml/*Mapper.xml"));
return sessionFactory.getObject();
}
情況5:使用mybatis-plus必須導入以下依賴(不要使用spring的mybatis,不然和spring本身數(shù)據(jù)庫管理沖突,還有就是注意使用springboot版本和mybatis版本問題,建議都是使用mybatis-plus,不然使用mybatis可能出現(xiàn)sqlFactory找不到等問題)
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.1</version>
</dependency>
情況6:打開項目的target目錄,觀察里面是否有對應的××Mapper.xml文件,若沒有,則在pom.xml文件中加入如下配置
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.yml</include>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
原文鏈接:https://blog.csdn.net/qq_19891197/article/details/134550106
- 上一篇:沒有了
- 下一篇:沒有了
相關(guān)推薦
- 2022-05-10 gin實現(xiàn)限流中間件
- 2023-10-10 函數(shù)柯里化的簡單實現(xiàn)和應用
- 2022-11-22 Golang?Compare?And?Swap算法詳細介紹_Golang
- 2023-03-26 TypeScript?基本數(shù)據(jù)類型實例詳解_其它
- 2022-07-11 Python內(nèi)建類型bytes深入理解_python
- 2022-03-28 OpenCV實戰(zhàn)之基于Hu矩實現(xiàn)輪廓匹配_C 語言
- 2022-10-17 C++實現(xiàn)String類的方法詳解_C 語言
- 2022-02-22 Android對話框AlertDialog詳解_Android
- 欄目分類
-
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細win安裝深度學習環(huán)境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支