解决属性名和字段名不一致的问题

本文介绍如何处理MyBatis中类属性和数据库字段名称不一致的问题,提供两种方法:一是使用别名as关键字,二是通过resultMap配置数据库字段到实体类属性的映射。详述了在<select>语句和resultMap中的应用实例。
摘要由CSDN通过智能技术生成

问题描述

数据库中的字段如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3VjC1aqp-1612602898362)(C:%5CUsers%5CHP%5CAppData%5CRoaming%5CTypora%5Ctypora-user-images%5Cimage-20210205170448333.png)]

在类中的属性名有改动:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-D2eWXS3f-1612602898364)(C:%5CUsers%5CHP%5CAppData%5CRoaming%5CTypora%5Ctypora-user-images%5Cimage-20210205170542322.png)]

在查询结果时变动的属性名没有查出结果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-X47gAuSS-1612602898365)(C:%5CUsers%5CHP%5CAppData%5CRoaming%5CTypora%5Ctypora-user-images%5Cimage-20210205170716356.png)]

问题原因

类中的属性没有和数据库中的字段对应起来


解决问题

  • 方法一:起别名,在字段名后用“as”对应属性名
<select id="getUserById" parameterType="int" resultType="hello">
    select id,name,pwd as password from mybatis.user where id=#{id};
</select>

  • 方法二:使用resultMap
  <resultMap id="UserMap" type="User">
        <result column="pwd" property="password"/>
</resultMap>

column:数据库中的字段; property:实体类中的属性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值