这个问题一般都是因为以下原因引起的
1.检查xml文件所在package名称是否和Mapper interface所在的包名
mapper.xml中的namespace要和mapper接口路径一致
<mapper namespace="com.zjlovelt.mapper">
2. mapper接口的方法返回值是List<User>,而select元素没有正确配置ResultMap,或者只配置ResultType!
3.看下mapper的XML配置路径是否正确
@MapperScan(value = "com.zjlovelt.mapper") 是配置mapper接口
#映射mapper的位置,和dao层接口对应,一定要对应mapper映射xml文件的所在路径 mybatis-plus.mapper-locations=classpath:mapping/*.xml 是配置mapper.xml
我的问题是因为之前用的mybatis-spring-boot-starter,后来又引用了mybatis-plus-boot-starter导致报这个错的
解决方法:删掉pom中mybatis-spring-boot-starter的配置,把配置文件中的mybatis配置统统改为
#springboot整合mybatis的配置 #指定实体类位置,在mapper中就不用写全路径 mybatis-plus.type-aliases-package: com.zjlovelt.entity #映射mapper的位置,和dao层接口对应,一定要对应mapper映射xml文件的所在路径 mybatis-plus.mapper-locations=classpath:mapping/*.xml # 配置打印 SQL 语句 mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
直接是mybatis,要改成mybatis-plus