Mybatis数据库字段与实体类属性不一致


在编写sql语句时会碰到数据库字段与我们实体类对象中属性名不一致,导致无法给实体类属性赋值。


数据库:

实体类:



有以下三种方式解决:

  • 方式一:在编写SQL语句时给字段起别名与属性名一一对应
  • 方式二: 需要字段和属性命名符合规则,我们可以在 mybatis-config.xml配置文件中设置。
    字段名符合数据库的规则(使用_命名),实体类中的属性名符合Java的规则(使用驼峰命名法

    

  • 方式三:使用ResultMap设置自定义映射
    resultMap属性:
    • id:表示自定义映射的唯一标识,不能重复
    • type:查询的数据要映射的实体类的类型
    • 子标签:
      • id:设置主键的映射关系
      • result:设置普通字段的映射关系
      • 子标签属性:
      • property:设置映射关系中实体类中的属性名
        • column:设置映射关系中表中的字段名