SpringBoot报No qualifying bean of type ‘com.lzk.mapper.UserMapper‘ available

这个异常是SpringBoot程序没有找到要Bean,这里提示找不到UserMapper,有以下三种解决方式:

  1. 在UserMapper上添加注解@Mapper
    @Mapper
    public interface UserMapper extends BaseMapper<User> {
    }
    
  2. 在启动类上进行Mapper包扫描,不用每个Mapper上都添加注解
    @SpringBootApplication
    @MapperScan("com.lzk.mapper")
    public class PananmalsApplication{
    }
    
  3. 如果以上两种方式都解决不了,很有可能是项目版本问题,现在使用IDEA支持的SpringBoot版本是3,默认版本就是3,而添加MyBatis-plus或者Mybatis是版本跟不上就有可能发生这个问题。注意:SpringBoot3搭配JDK17使用。
    SpringBoot2的MyBatis-plus依赖:以下两个都可用
    <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.4.2</version>
    </dependency>
    
    SpringBoot3的MyBatis-plus依赖:上面的依赖不可用
    <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.3</version>
    </dependency>