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 后续待添加。。。