springboot+mybatis报错找不到实体类的问题

 更新时间:2022年01月17日 15:25:35   作者:zlhmeng  
这篇文章主要介绍了springboot+mybatis报错找不到实体类的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

springboot+mybatis报错找不到实体类

找不到实体类的错误可能有很多,接下来列举几个地方

启动类位置不对,启动类应该在你的service和dao 的上一层,因为Spring是从启动类所在目录的同级目录开始扫描的,当然你也可以放在其他地方,但需要配置,具体配置可以参考网上的其他文章!

在这里插入图片描述

mapper.xml文件的路劲配置是否正确,classpath指的是resources目录,如果不在resources目录下,注意正确配置路劲。

在这里插入图片描述

mapper接口类是否添加@Repository注解,表示这是数据访问组件。如果采用注解的形式使用mybatis需要加@Mapper

在这里插入图片描述

service层是否添加@Service注解,将bean注入到上下文中.

在这里插入图片描述

启动类是否添加@MapperScan(扫描mapper),@EntityScan(扫描实体类),如果启动类不在上面(1)所说的位置,则需要自己添加@ComRepositor注解,自定义扫描的路径从中找出标识了需要装配的类自动装配到spring的bean容器中。

springboot+mybatis 找不到实体类问题

No qualifying bean of type‘com.wj.bfsh.mapper.SysUserMapper‘ available

报错如下

2021-02-18 09:45:58,826 - Starting BfshApplication on DESKTOP-AAPVN38 with PID 10552 (F:\IdeaIu\work_place\bfsh\target\classes started by AoDexiusi in F:\IdeaIu\work_place\bfsh)
2021-02-18 09:45:58,828 - Running with Spring Boot v2.3.7.RELEASE, Spring v5.2.12.RELEASE
2021-02-18 09:45:58,829 - No active profile set, falling back to default profiles: default
2021-02-18 09:45:58,868 - Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable
2021-02-18 09:45:58,868 - For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG'
2021-02-18 09:45:59,438 - No MyBatis mapper was found in '[com.wj.bfsh.mapper.*]' package. Please check your configuration.
2021-02-18 09:45:59,809 - Tomcat initialized with port(s): 8888 (http)
2021-02-18 09:45:59,816 - Starting service [Tomcat]
2021-02-18 09:45:59,816 - Starting Servlet engine: [Apache Tomcat/9.0.41]
2021-02-18 09:45:59,925 - Initializing Spring embedded WebApplicationContext
2021-02-18 09:45:59,925 - Root WebApplicationContext: initialization completed in 1057 ms
2021-02-18 09:45:59,969 - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sysUserController': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sysUserServiceImpl': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.wj.bfsh.mapper.SysUserMapper' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@javax.annotation.Resource(shareable=true, lookup=, name=, description=, authenticationType=CONTAINER, type=class java.lang.Object, mappedName=)}
2021-02-18 09:45:59,971 - Stopping service [Tomcat]
2021-02-18 09:45:59,978 - The web application [bfsh] appears to have started a thread named [Abandoned connection cleanup thread] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
 java.lang.Object.wait(Native Method)
 java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
 com.mysql.jdbc.AbandonedConnectionCleanupThread.run(AbandonedConnectionCleanupThread.java:40)
2021-02-18 09:45:59,986 - 

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2021-02-18 09:46:00,105 - 

***************************
APPLICATION FAILED TO START
***************************

Description:

A component required a bean of type 'com.wj.bfsh.mapper.SysUserMapper' that could not be found.


Action:

Consider defining a bean of type 'com.wj.bfsh.mapper.SysUserMapper' in your configuration.

我的启动类:

@SpringBootApplication
@MapperScan(basePackages = "com.wj.bfsh.mapper.*")
public class BfshApplication {
    public static void main(String[] args) {
        SpringApplication.run(BfshApplication.class, args);
    }
}

项目结构:

在这里插入图片描述

问题出现在

@MapperScan(basePackages = “com.wj.bfsh.mapper.*”)

修改为:

@MapperScan(basePackages = “com.wj.bfsh.mapper”)

其实就是dao层扫描的位置不对。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 详解Spring依赖注入的三种方式以及优缺点

    详解Spring依赖注入的三种方式以及优缺点

    IoC 和 DI 是 Spring 中最重要的两个概念,其中 IoC(Inversion of Control)为控制反转的思想,而 DI(Dependency Injection)依赖注入为其(IoC)具体实现。那么 DI 实现依赖注入的方式有几种?这些注入方式又有什么不同?本文就来和大家一起详细聊聊
    2022-08-08
  • Feign远程调用Multipartfile参数处理

    Feign远程调用Multipartfile参数处理

    这篇文章主要介绍了Feign远程调用Multipartfile参数处理,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • Java微服务Filter过滤器集成Sentinel实现网关限流过程详解

    Java微服务Filter过滤器集成Sentinel实现网关限流过程详解

    这篇文章主要介绍了Java微服务Filter过滤器集成Sentinel实现网关限流过程,首先Sentinel规则的存储默认是存储在内存的,应用重启之后规则会丢失。因此我们通过配置中心Nacos保存规则,然后通过定时拉取Nacos数据来获取规则配置,可以做到动态实时的刷新规则
    2023-02-02
  • JeecgBoot框架升级至Spring Boot3的实战步骤

    JeecgBoot框架升级至Spring Boot3的实战步骤

    本文主要介绍了JeecgBoot框架升级至Spring Boot3的实战步骤,从 2.7.10升级到3.1.5有以下几个点需要注意,下面就来详细的介绍一下,感兴趣的可以了解一下
    2024-04-04
  • 详解使用Maven构建多模块项目(图文)

    详解使用Maven构建多模块项目(图文)

    这篇文章主要介绍了详解使用Maven构建多模块项目(图文),非常具有实用价值,需要的朋友可以参考下
    2017-09-09
  • SpringBoot数据脱敏的实现示例

    SpringBoot数据脱敏的实现示例

    数据脱敏主要应用在客户安全数据或商业性敏感数据的情况,本文主要介绍了SpringBoot数据脱敏的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-05-05
  • Java压缩集合的三种方法

    Java压缩集合的三种方法

    这篇文章主要介绍了Java压缩集合的三种方法,帮助大家更好的理解和使用Java,感兴趣的朋友可以了解下
    2021-01-01
  • Java实现二分查找算法实例分析

    Java实现二分查找算法实例分析

    这篇文章主要介绍了Java实现二分查找算法,实例分析了二分查找算法的原理与相关实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • 使用Java实现串口通信

    使用Java实现串口通信

    这篇文章主要为大家详细介绍了使用Java实现串口通信的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-12-12
  • Java调用C++动态库超详细步骤讲解(附源码)

    Java调用C++动态库超详细步骤讲解(附源码)

    C语言因其高效和接近硬件的特性,时常会被用在性能要求较高或者需要直接操作硬件的场合,这篇文章主要介绍了Java调用C++动态库的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-04-04

最新评论