Springboot集成mybatis时提示找不到Mapper Bean

来自ling
跳转至: 导航搜索

https://www.jianshu.com/p/73ef4e453bb6

网上提到的解决办法大概有以下几种
1. Application启动类包位置不对
2. 启动类未配置MapperScan
3. Mapper未配置注解@Mapper
4. yml文件未配置mybatis相关
mybatis:
  mapper-locations: classpath:com/esagent/mapper/*.xml
  type-aliases-package: com.esagent.bean
实际上造成这个问题的原因是很多的。我碰到的问题原因是pom依赖包之间版本的问题
原配置如下
<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>1.3.2</version>
</dependency>
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.4.6</version>
</dependency>
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis-spring</artifactId>
    <version>1.2.3</version>
</dependency>
mybatis-spring-boot-starter采用了1.3.2版本,而mybatis-spring采用了1.2.3版本。将mybatis-spring升级为1.3.2版本后问题解决

在引入三方包时,特别要注意版本之间的兼容问题,尽量从maven官网的同一版本路径下拷贝pom文件,不要从网上东拼西凑
0人点赞
日记本