springboot mapper注入失败

springboot mapper注入失败
尝试了很久了,各种方法都试过了,还是不行 T_T
报错如下

img

img


配置如下

img

img

img

img

img

img

img

img

引用 皆我百晓生 小程序回复内容作答:

在Spring Boot中使用Mapper注入失败可能有以下几个原因:

  1. 未配置Mapper扫描路径:在主配置类上使用@MapperScan注解,指定Mapper接口所在的包路径。例如:@MapperScan("com.example.mapper")

  2. Mapper接口没有使用@Mapper注解:确保Mapper接口上使用了@Mapper注解,这样MyBatis才能识别并创建对应的实例。

  3. Mapper接口没有被Spring管理:使用@Repository@Component注解,将Mapper接口添加到Spring管理中。例如:@Repository

  4. 未正确配置数据源:检查application.propertiesapplication.yml配置文件,确保数据源的相关配置正确。例如:spring.datasource.urlspring.datasource.usernamespring.datasource.password等。

  5. Maven依赖未正确配置:确保pom.xml文件中已经添加了MyBatis和Mapper的依赖。例如:

    <dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>2.1.4</version>
    </dependency>
    <dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.5.5</version>
    </dependency>
    

如果以上原因都已经确认无误,但依然无法注入Mapper成功,你可以尝试以下方法:

  1. 清理和重建项目:有时候构建工具会出现缓存问题,尝试使用mvn clean命令清理项目,然后重新构建。

  2. 使用@Autowired注解注入:尝试使用@Autowired注解,直接在需要注入Mapper的地方注入。例如:@Autowired private XxxMapper xxxMapper;

  3. 检查Mapper接口的方法命名及返回类型:确保Mapper接口的方法名称和参数与对应的Mapper XML文件相匹配,并且返回类型也要一致。

如果以上方法都没有解决问题,还可以尝试查看控制台的错误日志,查找更多详细的错误信息。

【相关推荐】




如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

mybatis 两种Mapper扫描方式
1.Mapper接口加 @Repository + 主启动类 @MapperScan("mapper包名*")
2.直接在Mapper加@Mapper

感觉是依赖问题,代码看着没啥问题,使用springboot的话,sqlsessionfactory什么的都是会默认配置上的,可以先考虑包冲突,多数据源等情况