第一步:首先检查yml中的配置
mybatis-plus:
# 包扫描路径(当前项目的实体类所在位置。别名包扫描路径,通过该属性可以给包中的类注册别名,多个路径用逗号分割)
type-aliases-package: com.yan.common.entity
# xml扫描,多个目录用逗号或者分号分隔(告诉 Mapper 所对应的 XML 文件位置)
mapper-locations: classpath:mapper/*.xml target\classes\mapper\UserActiveLogMapper.xml
configuration:
# 是否开启自动驼峰命名规则映射:从数据库列名到Java属性驼峰命名的类似映射
map-underscore-to-camel-case: true
# 如果查询结果中包含空值的列,则 MyBatis 在映射的时候,不会映射这个字段
# 允许在resultType="map"时映射null值
call-setters-on-nulls: true
# 这个配置会将执行的sql打印出来,在开发或测试的时候可以用(包括执行结果)
# log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
global-config:
db-config:
# 1、主键类型 AUTO:"数据库ID自增" ; 2、INPUT:"用户输入ID"; 3、ID_WORKER:"全局唯一ID (数字类型唯一ID)"; 4、UUID:"全局唯一ID UUID";
id-type: auto
field-strategy: NOT_EMPTY # 字段策略 IGNORED:"忽略判断" NOT_NULL:"非 NULL 判断") NOT_EMPTY:"非空判断"
db-type: MYSQL # 数据库类型
# 逻辑删除配置
logic-not-delete-value: 0 # 删除前
logic-delete-value: 1 # 删除后
# 数据库表名的前缀
table-prefix:
第二步:检查yml中的配置
nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [D:\Code
检查Mapper.xml中, 下面标红色部分的地址是否正确,以及本文件中与标红地址相同的地址一起改为正确地址。(点击地址可以跳转,即为正确)
<mapper namespace="com.....">
<resultMap id="BaseResultMap" type="com....">
- namespace中的地址为Mapper地址
- type 及下面地址为PO文件地址
问题常出现在:复制其他的项目中mybatis,导致Mapper 和PO文件地址在该项目中不正确;
第三步:maven中执行mvn clean install命令
本来之前写好的一个项目,报了各种mybatis相关的错误,什么无法解析mybatis,无法找到实体类等各种错误,然后我检查了一下各个文件还有语法都没有问题,target文件夹里也没问题。