使用注解方式整合ssm时,启动tomcat扫描不到resource下面的xxxmapper.xml问题,解决方法

解决org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.xxx.mapper.方法
在Spring与Mybatis整合时,可能会遇到这样的报错

原因:

其原因为mapper路径的映射错误,表示在尝试执行某个 Mapper 接口的方法时,MyBatis 无法找到对应的 SQL 语句。

造成该错误的可能方式为:

在mapper接口文件上使用了@Mapper注解,在controller调用方法时则无法找到该方法,只能使用注解方式写sql语句才能被识别到,生成到mapper.xml文件中的sql语句无法被使用

修改方法:

1.将@Mapper注解改为@Reposity

2.在MybatisConfig配置文件中加入扫描mapper映射文件的语句

不要觉得在 MybatisConfig配置文件中的MapperScannerConfigurer类加入mapperScannerConfigurer.setBasePackage("com.xxx.mapper");,程序就可以扫描到xxxMapper.xml文件了,其实不然,还需要在SqlSessionFactoryBean类中加入一个语句:
sqlSessionFactoryBean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mapper/*.xml"));

这样才能正确扫描到xxxMapper.xml文件和Mapper文件。

相关推荐
心随雨下19 小时前
Java中将System.out内容写入Tomcat日志
java·开发语言·tomcat
-指短琴长-20 小时前
ProtoBuf速成【基于C++讲解】
android·java·c++
Cx330❀20 小时前
《C++ 搜索二叉树》深入理解 C++ 搜索二叉树:特性、实现与应用
java·开发语言·数据结构·c++·算法·面试
爱吃烤鸡翅的酸菜鱼20 小时前
深度解析《AI+Java编程入门》:一本为零基础重构的Java学习路径
java·人工智能·后端·ai
SimonKing20 小时前
被卖的Hutool出AI模块了!它如何让Java调用大模型变得如此简单?
java·后端·程序员
檐下翻书17320 小时前
Spring Boot 深度剖析:从虚拟线程到声明式 HTTP 客户端,再到云原生最优解
spring boot·http·云原生
不穿格子的程序员21 小时前
从零开始刷算法-栈-字符串解码
java·开发语言
你不是我我21 小时前
【Java 开发日记】设计模式了解吗,知道什么是饿汉式和懒汉式吗?
android·java·开发语言
♡喜欢做梦21 小时前
Spring MVC 响应处理:页面、数据与状态配置详解
java·javascript·spring·java-ee
计算机学姐21 小时前
基于SpringBoot的公务员考试管理系统【题库组卷+考试练习】
java·vue.js·spring boot·后端·java-ee·intellij-idea·mybatis