前两天用mybatis-plus碰到的bug
上头!
这个问题搞了有五小时!
网上搜索的解决方法:
- 1、mybatits的maven依赖是否已经导入。
本来以为是mybatis和mybatis-plus依赖冲突,然后加上mybatis依赖,不行!删除mybatis依赖,不行!以为版本太高,降低依赖版本,不行!
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.3</version>
</dependency>
- 2、打包编译时xml文件未编译
尝试:启动类上加上@MapperScan(“”),不行!
尝试;Mapper文件上加上@Mapper注解不行!
- 3、检查mybatis的配置
尝试:在yml文件中加入配置(不行)
#配置mapper xml文件的路径
mybatis-plus:
global-config:
db-config:
#主键生成策略为自增
id-type: auto
configuration:
map-underscore-to-camel-case: true
# type-aliases-package: com.lishij.dorm.po
等等吧,一系列问题,恶心坏了,感觉代码没有一点错误,就会出现not fount的问题,然后自己看了看错误信息,说的是Mapper没有注入,然后开始以为是注解@Resource出现的问题,尝试@Atuowired不行
最终解决方案
版本问题!
创建新的springboot项目,发现是
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.6.13</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
用的是3.多,具体多少记不住了,@Resouce导入的包是Jakarta的包,最终换版本号2.6.13导入javax的包,解决问题。
bug总结:版本问题真的很麻烦,版本不兼容,你代码就是运行不出来,以后检查自己代码没有问题,首先要先考虑是版本问题!