Mybatis的带_的字段与实体类中的字段映射问题

记录一次使用SpringBoot集成Mybatis时多表联合查询时产生的映射问题:
我在创建表的字段的时候不习惯使用_作为字段名称的之间的连接符,而是直接使用驼峰命名来完成字段属性的编写(不提倡,需要改正)…苦笑脸
但是在此次项目中出现了一次多表联查,需要使用其他同事的表结构来完成此次的查询,恰巧该同事的字段名称命名较为规范,造成查询之后的值为null,解决Bug的过程很酸爽,特此纪念。
需要多表联查,轻车熟路,需要在返回的实体类中加入其他表中的返回字段,完成映射,
加入的字段如图:

    //设备名称
    private String equipmentName;
    //设备序列号
    private String equipmentSn;

对应的.xml文件

  <select id="selectAllDevice" resultType="com.wx.buisserver.entity.Equipment">
    select a.equipment_name,a.equipment_sn from device_location b left join control_equipment a on b.locationId=a.room_id where b.enterpriseId=#{enterpriseId} and a.status !=99
  </select>

我在数据库中查询的记录

 select a.equipment_name,a.equipment_sn from device_location b left join control_equipment a on b.locationId=a.room_id where b.enterpriseId='jd123456'

查询出来的结果:
直接在navicat中查询时正常的返回值
但是在项目运行起来之后显示在postman中的数据就是空的

如图:

都是不报错才是最难解决的bug,但是这也难不倒我,一番询问度娘,终于发现,哦~~是不是我的字段没有起别名,导致映射的时候出现问题找不到实体类中的属性呀,马上就改

<select id="selectAllDevice" resultType="com.wx.buisserver.entity.Equipment">
    select a.equipment_name equipmentName,a.equipment_sn equipmentSn from device_location b left join control_equipment a on b.locationId=a.room_id where b.enterpriseId=#{enterpriseId} and a.status !=99
</select>

加上别名,再运行:
终于得到了我想要的结果
学习的路上我们会遇到千千万万的困难,不要怕,冲过去,打败他,加油!奥里给!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值