当前位置: 首页> 健康> 母婴 > 济南市历城区疫情最新消息_东营最新通知今天重要消息_代写文章_百度搜索百度

济南市历城区疫情最新消息_东营最新通知今天重要消息_代写文章_百度搜索百度

时间:2025/7/9 16:56:46来源:https://blog.csdn.net/qq_58341172/article/details/142621924 浏览次数:0次
济南市历城区疫情最新消息_东营最新通知今天重要消息_代写文章_百度搜索百度

需求说明:
返回值列表扩展字段值,不改变原有代码的基础上,增加返回值

编写类VO: 

public class RegionVO extends Region {//点位数量private Integer nodeCount;public Integer getNodeCount() {return nodeCount;}public void setNodeCount(Integer nodeCount) {this.nodeCount = nodeCount;}
}

 mapper.xml

<select id="selectRegionVOList" resultType="com.dkd.manage.vo.RegionVO">SELECTr.*,count( n.id ) AS node_countFROMtb_region rLEFT JOIN tb_node n ON r.id = n.region_idGROUP BYr.id<where><if test="regionName != null  and regionName != ''"> and region_name like concat('%', #{regionName}, '%')</if></where></select>

controller类:

@RestController
@RequestMapping("/manage/region")
public class RegionController extends BaseController
{@Autowiredprivate IRegionService regionService;/*** 查询区域管理列表*/@PreAuthorize("@ss.hasPermi('manage:region:list')")@GetMapping("/list")public TableDataInfo list(Region region){startPage();List<RegionVO> voList = regionService.selectRegionVOList(region);return getDataTable(voList);}
}

浏览器测试结果:

正常情况下也是可以的,但是当时测试的时候,始终缺少字段nodeCount ;

在这里我们可以换种方案:

修改mapper.xml文件

  <resultMap id="RegionVOResult" type="com.dkd.manage.vo.RegionVO"><result property="id"    column="id"    /><result property="regionName"    column="region_name"    /><result property="remark"    column="remark"    /><result property="createBy"    column="create_by"    /><result property="updateBy"    column="update_by"    /><result property="createTime"    column="create_time"    /><result property="updateTime"    column="update_time"    /><result property="nodeCount"    column="node_count"    /></resultMap><select id="selectRegionVOList" resultMap="RegionVOResult">SELECTr.*,count( n.id ) AS node_countFROMtb_region rLEFT JOIN tb_node n ON r.id = n.region_idGROUP BYr.id<where><if test="regionName != null  and regionName != ''"> and region_name like concat('%', #{regionName}, '%')</if></where></select>

再次运行,效果也是可以的!

扩展SQL: 

SELECTre.id,re.region_name,re.remark,IFNULL( tbc.node_count, 0 ) AS nodeCount,re.create_time 
FROMtb_region reLEFT JOIN ( SELECT region_id, count( 0 ) node_count FROM tb_node GROUP BY region_id ) tbc ON tbc.region_id = re.id SELECTr.*,count( n.id ) AS node_count 
FROMtb_region rLEFT JOIN tb_node n ON r.id = n.region_id 
GROUP BYr.id

关键字:济南市历城区疫情最新消息_东营最新通知今天重要消息_代写文章_百度搜索百度

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: