MyBatis 报找不到某个字段 无法对数据库进行操作

一般这种情况可以通过以下思路解决:

1.先查看实体类的对应字段是否和数据库保持一致(没有强制完全一样,下划线,驼峰命名都可以自动帮你匹配)

2.如果是MyBatis-plus可以添加@TableField(exists=false)的注解,意思是实体类有,但数据库可以没有

3.如果使用到了xml的形式对实体和数据库进行映射,可以从两方面查看

  3.1查看sql语句是否有些错(一般有些错的话,报错很明显会报sql语法有误,这个很容易辨别)

  3.2查看配置文件的实体映射是否映射对应,当你修改某个实体字段时,在做BaseResultMap的时候,要同时做联动(在数据库对应的column,在实体类对应的property)

如果你发现没有报错了,而是报了其他乱七八糟的错,那建议你重新梳理一下MyBatis的流程,一步一步走,人工debug

1.如果是SSM框架:

  1.1 检查配置实体映射类和sqlMapConfig(具体的可以百度),一定要知道这两个配置文件是怎么走的

  1.2 检查resource下面的包有没有被你的Spring的配置文件扫描到

  1.3 检查新建resource下面的directory的时候,需要注意要用  “/”  而不是  “.”

  1.4 检查mapper/dao接口的时候,有没有和mapper.xml 文件名一致

  1.5 后续待添加。。。

2.如果是SpringBoot框架

  2.1 在启动类记得添加扫描包

  2.2 一般都会用到xml,因为可能要多表联查,所以xml的一些配置一定要注意,包括实体类的路径,resultMap的映射关系都要检查一遍

  2.3 后续待添加。。。

原文地址:https://www.cnblogs.com/sjfxdbky/p/13734481.html