zoukankan      html  css  js  c++  java
  • 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 后续待添加。。。

  • 相关阅读:
    IP的幻觉
    糟糕的一天
    windows下批量生成文件
    基于Bandersnatch搭建本地pypi源
    vmware vsphere 无法启动故障;
    关于Centos7客户端代理配置
    怎样在交换机判断是否出现环路了呢?
    小小的网络故障
    express for LINUX
    ESXI 7.0 ovf 导出;
  • 原文地址:https://www.cnblogs.com/sjfxdbky/p/13734481.html
Copyright © 2011-2022 走看看