若依框架原有页面功能进行了点位管理改造之列表查询(4)

本次点位管理模块改造,仅完成后端关联查询与前端列表展示优化

  1. 新增 NodeVo 实体,封装点位、区域、合作商信息。
  2. NodeMapper.xml 中配置结果映射,通过子查询关联区域与合作商数据。
  3. 新增 Mapper、Service、Controller 层的 Vo 查询方法。
  4. 前端表格改造,直接显示区域名称合作商名称

一、后端:NodeVo 实体类

文件位置com.dkd.manage.domain.vo.NodeVo.java

改造说明:新增点位 VO 对象,用于封装点位 + 区域 + 合作商关联信息

复制代码
@Data
public class NodeVo extends Node {
    private Region region;
    private Partner partner;
}

二、后端:NodeMapper.xml 关联查询

文件位置resources/mapper/manage/NodeMapper.xml

改造说明:新增结果集映射,关联区域与合作商

复制代码
<resultMap type="NodeVo" id="NodeVoResult">
    <id property="id" column="id"/>
    <result property="nodeName" column="node_name"/>
    <result property="address" column="address"/>
    <result property="regionId" column="region_id"/>
    <result property="partnerId" column="partner_id"/>
    <result property="createTime" column="create_time"/>
    <result property="updateTime" column="update_time"/>
    <association property="region" javaType="Region" column="region_id" select="com.dkd.manage.mapper.RegionMapper.selectRegionById"/>
    <association property="partner" javaType="Partner" column="partner_id" select="com.dkd.manage.mapper.PartnerMapper.selectPartnerById"/>
</resultMap>

<select id="selectNodeVoList" parameterType="Node" resultMap="NodeVoResult">
    select id, node_name, address, region_id, partner_id, create_time, update_time
    from tb_node
</select>

三、后端:NodeMapper 接口

文件位置com.dkd.manage.mapper.NodeMapper.java

改造说明:新增 Vo 列表查询方法

复制代码
public interface NodeMapper {
    List<NodeVo> selectNodeVoList(Node node);
}

四、后端:INodeService 接口

文件位置com.dkd.manage.service.INodeService.java

改造说明:新增业务层接口

复制代码
public interface INodeService {
    public List<NodeVo> selectNodeVoList(Node node);
}

五、后端:NodeServiceImpl 实现类

文件位置com.dkd.manage.service.impl.NodeServiceImpl.java

改造说明:实现 Vo 列表查询

复制代码
@Service
public class NodeServiceImpl implements INodeService {
    @Autowired
    private NodeMapper nodeMapper;

    @Override
    public List<NodeVo> selectNodeVoList(Node node) {
        return nodeMapper.selectNodeVoList(node);
    }
}

六、后端:NodeController 控制器

文件位置com.dkd.manage.controller.NodeController.java

改造说明:修改列表接口,返回 Vo 对象

复制代码
@GetMapping("/list")
public TableDataInfo list(Node node) {
    startPage();
    List<NodeVo> voList = nodeService.selectNodeVoList(node);
    return getDataTable(voList);
}

七、前端:index.vue 表格列改造

文件位置src/views/manage/node/index.vue

改造说明:显示区域名称、合作商名称

复制代码
<el-table-column label="所属区域" align="center" prop="region.regionName" />
<el-table-column label="合作商" align="center" prop="partner.partnerName" />
相关推荐
Databend3 小时前
在 AWS 中国峰会逛了一天,我在 Databend 展台看到了 Agent 数据基础设施的新思路
数据库·人工智能·agent
ClouGence1 天前
Oracle 数据同步为什么会出现数据不一致?长事务是常被忽略的原因
数据库·后端·oracle
飞将1 天前
从零实现数据库(2)——HashIndex + IndexManager
数据库
Nturmoils2 天前
订单列表慢查询,先看 WHERE、ORDER BY 和 LIMIT
数据库
渣波2 天前
拒绝 SQL 焦虑!手把手带你用 NestJS + Prisma + DTO 写出“防弹”级后端代码
javascript·数据库·后端
倔强的石头_3 天前
KingbaseES 新版MySQL 兼容版体验:旧版迁移 + 功能实测
数据库
zzzzzz3104 天前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟
linux·服务器·sql
倔强的石头_6 天前
《Kingbase护城河》——数据库存储空间全景探测与精细化瘦身实战
数据库
云技纵横6 天前
唯一索引 INSERT 死锁实战:5 秒复现交叉插入的 S 锁循环等待
sql·mysql
冬奇Lab7 天前
每日一个开源项目(第134篇):Zvec - 阿里开源的嵌入式向量数据库,向量搜索界的 SQLite
数据库·人工智能·llm