Feezylu 2022-10-27 11:28 采纳率: 100%
浏览 26
已结题

请问我查询功能想要增加显示一个自己别名的字段应该怎么去拼接啊?

问题遇到的现象和发生背景

就是我的项目里有个根据输入所在区域和起始时间以及终止时间来查询 某停车场‘已占用的车位数’,‘实际能用的车位数’,‘总车位数’,
现在要查询的这三个字段都有实例和数据库表字段,也在resultMap里面。这个是已经写好的,并且参与了page分页。
现在我想增加一个只在查询时会显示的‘未占用的车位数’,不动数据库和resultMap,如何在业务层把它拼接进去?或者有没有别的思路?

用代码块功能插入代码,请勿粘贴截图
public IPage<ParkInfoVO> selectForParkingDetail(String address, LocalDate dateS, LocalDate dateE, IPage<ParkInfoVO> page) {
return page.setRecords(baseMapper.selectForParkingDetail(address,dateS,dateE,page));
}
运行结果及报错内容

没报错,用我下面的想法结果不返回数据

我的解答思路和尝试过的方法

起初我是直接在mapper.xml里面修改了sql语句,在select后面加了一个 real_park - use_park as unuse_park,(实际减已用别名未用)想通过别名一下显示出来。
但是测试的时候发现在数据库里运行那个语句是可以查的,但是在postman里面测接口的时候不会返回那个我别名的字段和数据,查不出来。
然后我就想是不是因为别名的那个字段没有被映射到resultMap里所以才不显示。
然后我了解到好像是可以另写一个sql拼接过去。但是我想了半天没想明白怎么去拼接又不会影响原本的分页。

我想要达到的结果

结果就是需要在返回给前端的数据里多给一个‘未占用的车位数’的数据,其它的不变,本来的话好像数据库里加个字段,对应的xml,实体类也加上就能解决问题的东西,但是现在不能动原来的数据库,只在要查的时候显示。应该怎么弄?

  • 写回答

2条回答 默认 最新

  • Ralph Chen 2022-10-27 11:41
    关注

    方案1:如果可以根据其他字段算出“未占用的车位数”的话,可以在数据查完用代码算出结果封装返回给前端
    方案2:xml里的resultMap是可以多个的,可以新增一个resultMap继承原来的resultMap,新增一个字段即可
    方案3:如果不想新增resultMap,可以在自定义sql那里的resultType参数填你返回给前端的vo,查询的时候字段名使用别名对应vo的字段

        <select id="selectDemo" resultType="com.ralph.resturnVO">
            select file1 as 'filed1' from table_name
        </select>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月4日
  • 已采纳回答 10月27日
  • 创建了问题 10月27日

悬赏问题

  • ¥15 esp8266控制共阳极wrgb灯板无法关闭所有led灯
  • ¥100 python读取速度问题
  • ¥15 stm32f407使用DMA问题
  • ¥15 您好 这个API接口该怎么弄 网站搭建好了 API也有 现在就不知道该怎么填写API 不知道怎么用
  • ¥88 用uniapp写一个多端的程序,用到高德地图,用高德的JSAPI吗?
  • ¥20 关于#c++#的问题:水果店管理系统
  • ¥30 dbLinq最新版linq sqlite
  • ¥20 对D盘进行分盘之前没有将visual studio2022卸载掉,现在该如何下载回来
  • ¥15 完成虚拟机环境配置,还有安装kettle
  • ¥15 2024年全国大学生数据分析大赛A题:直播带货与电商产品的大数据分析 问题5. 请设计一份优惠券的投放策略,需要考虑优惠券的数量、优惠券的金额、投放时间段和投放商品种类等因素。求具体的python代码