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

相关推荐
idolyXyz10 分钟前
[java: Cleaner]-一文述之
java
Aurora_NeAr16 分钟前
Apache Iceberg数据湖基础
apache
一碗谦谦粉21 分钟前
Maven 依赖调解的两大原则
java·maven
netyeaxi1 小时前
Java:使用spring-boot + mybatis如何打印SQL日志?
java·spring·mybatis
收破烂的小熊猫~1 小时前
《Java修仙传:从凡胎到码帝》第四章:设计模式破万法
java·开发语言·设计模式
小七mod1 小时前
【MyBatis】MyBatis与Spring和Spring Boot整合原理
spring boot·spring·mybatis
猴哥源码1 小时前
基于Java+SpringBoot的动物领养平台
java·spring boot
老任与码1 小时前
Spring AI Alibaba(1)——基本使用
java·人工智能·后端·springaialibaba
小兵张健1 小时前
武汉拿下 23k offer 经历
java·面试·ai编程
源图客1 小时前
Apache Nutch介绍与部署编译
apache·nutch