如何处理SpringBoot项目中Mybatis无法扫描到Mapper接口的问题?

2026-05-26 09:161阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计554个文字,预计阅读时间需要3分钟。

如何处理SpringBoot项目中Mybatis无法扫描到Mapper接口的问题?

闲来无事,想学习Spring Boot,开始搭建一个项目。但遇到一个直接明显的错误:异常发生在上下文初始化期间,取消刷新尝试:`org.springframework.beans.factory.UnsatisfiableBeanCreationException`。

闲来无事,想学学springboot,开始搭建一个项目,但是一直显示mapper扫描不到的错误:

“Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name ‘userController': Unsatisfied dependency expressed through field ‘userMapper'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type ‘com.minibike.bike.user.dao.UserMapper' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}”

“Field userMapper in com.minibike.bike.user.controller.UserController required a bean of type ‘com.minibike.bike.user.dao.UserMapper' that could not be found.”

于是在网上找解决方案,都是治标不治本,不得不说现在的博客质量下降的厉害,太误导人了,打开好多个都是一样的内容,难道没人遇到的错误一样,连包名和类名也一样吗?有的人抄别人博客,类名和包名都懒得换一下?

最后解决方案是在Application.java主类上加注解@MapperScan(“com.minibike.bike.user.dao”)。括号中引号里边是mapper所在包路径。

加上注解后不再报错,也能正常输出oooo

第一次接触springboot,昨天下午到今早一直没找到问题所在,后来查文档、注解,然后不断尝试,最后终于解决。

当然这个只是我个人项目开发中遇到的问题解决办法,不一定通用,但是如过遇到这样的问题,也可以一试。

补充知识:springboot 项目配置扫描mapper接口类的两种方法

一种是在启动类上加@MapperScan({"com.**.dao","com.**.dao.*"}) 扫描mapper接口文件所在的包,多个包的时候用英文半角逗号隔开;

一种是在mapper接口文件上加@Mapper注解。如下

import org.apache.ibatis.annotations.Mapper;

如何处理SpringBoot项目中Mybatis无法扫描到Mapper接口的问题?

以上这篇解决SpringBoot整合Mybatis扫描不到Mapper的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持易盾网络。

本文共计554个文字,预计阅读时间需要3分钟。

如何处理SpringBoot项目中Mybatis无法扫描到Mapper接口的问题?

闲来无事,想学习Spring Boot,开始搭建一个项目。但遇到一个直接明显的错误:异常发生在上下文初始化期间,取消刷新尝试:`org.springframework.beans.factory.UnsatisfiableBeanCreationException`。

闲来无事,想学学springboot,开始搭建一个项目,但是一直显示mapper扫描不到的错误:

“Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name ‘userController': Unsatisfied dependency expressed through field ‘userMapper'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type ‘com.minibike.bike.user.dao.UserMapper' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}”

“Field userMapper in com.minibike.bike.user.controller.UserController required a bean of type ‘com.minibike.bike.user.dao.UserMapper' that could not be found.”

于是在网上找解决方案,都是治标不治本,不得不说现在的博客质量下降的厉害,太误导人了,打开好多个都是一样的内容,难道没人遇到的错误一样,连包名和类名也一样吗?有的人抄别人博客,类名和包名都懒得换一下?

最后解决方案是在Application.java主类上加注解@MapperScan(“com.minibike.bike.user.dao”)。括号中引号里边是mapper所在包路径。

加上注解后不再报错,也能正常输出oooo

第一次接触springboot,昨天下午到今早一直没找到问题所在,后来查文档、注解,然后不断尝试,最后终于解决。

当然这个只是我个人项目开发中遇到的问题解决办法,不一定通用,但是如过遇到这样的问题,也可以一试。

补充知识:springboot 项目配置扫描mapper接口类的两种方法

一种是在启动类上加@MapperScan({"com.**.dao","com.**.dao.*"}) 扫描mapper接口文件所在的包,多个包的时候用英文半角逗号隔开;

一种是在mapper接口文件上加@Mapper注解。如下

import org.apache.ibatis.annotations.Mapper;

如何处理SpringBoot项目中Mybatis无法扫描到Mapper接口的问题?

以上这篇解决SpringBoot整合Mybatis扫描不到Mapper的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持易盾网络。