使用注解方式整合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文件。

相关推荐
胡闹54几秒前
MyBatis-Plus 更新字段为 null 为何失效?
java·数据库·mybatis
糕......几秒前
JDK安装与Java开发环境配置全攻略
java·开发语言·网络·学习
日日行不惧千万里1 分钟前
Java中Lambda Stream详解
java·开发语言·python
ss2734 分钟前
线程池关闭:shutdown与shutdownNow的区别
java
趁月色小酌***9 分钟前
JAVA 知识点总结4
java·开发语言
独断万古他化10 分钟前
【Spring Web MVC 入门续篇】请求处理之 Cookie 与 Session 获取实战
后端·spring·java-ee·mvc
C雨后彩虹10 分钟前
ConcurrentHashMap 源码逐行拆解:put/get 方法的并发安全执行流程
java·算法·哈希算法·集合·hashmap
侠客行031714 分钟前
Mybatis入门到精通 二
java·mybatis·源码阅读
2501_9098008114 分钟前
Java IO框架
java·学习·io框架
趣知岛1 小时前
初识Java
java·开发语言