mybatis(mybatis-plus)报invalid bound statement (not found)或者找不到xml文件(各种情况)

news/2024/4/17 16:33:31

情况1:查看yml文件是否添加mybatis配置

mybatis-plus:# Mapper.xml 文件位置 Maven 多模块项目的扫描路径需以 classpath*: 开头# 实现接口绑定mapperLocations: classpath*:mybatis/xml/*Mapper.xml

情况2:区分使用的的版本是mybatis还是mybstis-plus,yml配置也不同

#mybatis:
mybatis-plus:# Mapper.xml 文件位置 Maven 多模块项目的扫描路径需以 classpath*: 开头# 实现接口绑定mapperLocations: classpath*:mybatis/xml/*Mapper.xml

情况3:调用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();}

如上的方法永远不会调用到mybatis的bean,需要修改成如下才行,同时在yml配置的mybatis都失效了,需要在SqlSessionFactory 设置,如设置读取*Mapper.xml的路径

@Bean("sqlSessionFactory")public SqlSessionFactory sqlSessionFactoryBean(DynamicDataSource dynamicDataSource) throws Exception {MybatisSqlSessionFactoryBean sessionFactory = new MybatisSqlSessionFactoryBean();sessionFactory.setDataSource(dynamicDataSource);/// 创建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();}

情况4:使用mybatis-plus必须导入以下依赖(不要使用spring的mybatis,不然和spring本身数据库管理冲突,还有就是注意使用springboot版本和mybatis版本问题,建议都是使用mybatis-plus,不然使用mybatis可能出现sqlFactory找不到等问题)

        <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.1</version></dependency>

情况5:打开项目的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://www.xjx100.cn/news/3119019.html

相关文章

【古月居《ros入门21讲》学习笔记】18_常用可视化工具的使用

目录 说明&#xff1a; 1. Qt工具箱 日志输出工具&#xff1a;rqt_console 绘制数据曲线&#xff1a;rqt_plot 图像渲染工具&#xff1a;rqt_image_view 综合工具&#xff1a;rqt 2. 三维可视化工具&#xff1a;Rviz Rviz启动 使用示例 3. 仿真平台&#xff1a;Gazebo…

通用plantuml模板头

通用plantuml文件 startuml participant Admin order 0 #87CEFA // 参与者、顺序、颜色 participant Student order 1 #87CEFA participant Teacher order 2 #87CEFA participant TestPlayer order 3 #87CEFA participant Class order 4 #87CEFA participant Subject order …

后端项目连接数据库-添加MyBatis依赖并检测是否成功

一.在pom.xml添加Mybatis相关依赖 在Spring Boot项目中&#xff0c;编译时会自动加载项目依赖&#xff0c;然后使用依赖包。 需要在根目录下pom.xml文件中添加Mybatis依赖项 <!-- Mybatis整合Spring Boot的依赖项 --> <dependency><groupId>org.mybatis.s…

SimpleCG小游戏开发系列(1)--扫雷

一、前言 前面我们学习了SimpleCG的游戏开发框架,从本篇开始,我们用一系列小游戏的开发来加深对框架的了解.我们先以windows的经典游戏--扫雷,作为首个例子。游戏预览如下 二、框架搭建 因为游戏程序的大体框架差不多&#xff0c;所以我们可以搭建一个通用的主程序。如下所示&a…

element-plus el-dialog 弹窗隐藏遮罩并且可以控制弹窗后的元素、点击、滚动、其他事件操作等

场景 el-dialog 隐藏遮罩并且可以控制弹窗后的元素、点击、滚动、其他事件操作&#xff0c;比如一个弹窗打开了&#xff0c;我要能控制弹窗后面的滚动、点击等等一系列事件。 修改方法 首先我们需要隐藏弹窗遮罩 :modal"false"&#xff0c;并且给 el-dialog 弹窗…

SpringBoot_第八章(读写分离_ShardingSphere实现)

目录 1&#xff1a;ShardingSphere实现Spring的读写分离分库分表 2&#xff1a;什么是ShardingSphere 3&#xff1a;ShardingJDBC实现代码案例 3.1&#xff1a;pom准备 3.2&#xff1a;读写分离 3.3&#xff1a;垂直分库分表 3.4&#xff1a;水平单表不分库分片 3.5&…

功能全面又强大的同步备份软件,你找到了吗?

随着企业规模的不断扩大&#xff0c;许多企业都会拥有自己的数据中心。因此每日员工都需要在服务器与服务中心之间调取文件&#xff0c;同时还需要对每日新增的业务数据进行实时同步。如果量比较小&#xff0c;一般问题不大&#xff1b;一旦数据比较大&#xff0c;量也比较大&a…

大语言模型有那些能力和应用

目录 能力 应用 能力 理解语义的能力&#xff1a;LLM 具有强大的语义理解能力&#xff0c;能够理解大部分文本&#xff0c;包括不同语言&#xff08;人类语言或计算机语言&#xff09;和表达水平的文本&#xff0c;即使是多语言混杂、语法用词错误&#xff0c;也在多数情况下…