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

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


数据库:

实体类:
实体类属性


有以下三种方式解决:

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

  • 方式三:使用ResultMap设置自定义映射
    resultMap属性:
    • id:表示自定义映射的唯一标识,不能重复
    • type:查询的数据要映射的实体类的类型
    • 子标签:
      • id:设置主键的映射关系
      • result:设置普通字段的映射关系
      • 子标签属性:
      • property:设置映射关系中实体类中的属性名
        • column:设置映射关系中表中的字段名
<!-- Mapper接口全路径 -->
<mapper namespace="com.snow.mapper.EmployeeMapper">
    <!--方式三:使用ResultMap设置自定义映射-->
    <resultMap id="empResultMap" type="employee">
        <id property="empId" column="emp_id"></id>
        <result property="empName" column="emp_name"></result>
        <result property="age" column="age"></result>
        <result property="sex" column="sex"></result>
        <result property="email" column="email"></result>
    </resultMap>

    <select id="getAllEmp" resultMap="empResultMap">
        select * from t_emp
    </select>
</mapper>

本文作者:香酥豆腐皮

本文链接:https://www.cnblogs.com/Snowclod/p/16029470.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   香酥豆腐皮  阅读(1614)  评论(0编辑  收藏  举报
谁堪共展鸳鸯锦,同过西楼此夜寒。
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起
  1. 1 青石巷 REOL
青石巷 - REOL
00:00 / 00:00
An audio error has occurred.