【关联字段如何在列表中显示】查询车间列表页面中,显示关联的公司(company)字段

2024-01-01 15:18

本文主要是介绍【关联字段如何在列表中显示】查询车间列表页面中,显示关联的公司(company)字段,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述
车间列表显示的隶属公司字段是company_id,该字段是公司表中的主键。

如何修改,让它显示公司表中的 company_name,而不是显示company_id。

这个功能,需要作两表的关联查询,查询出的company_name放在json数组中,返回到前端显示。

前端页面改造

<el-table-column label="隶属公司" align="center" prop="companyId" />
修改为-->
<el-table-column label="隶属公司" align="center" prop="companyName" />

实体类改造(添加字段)

/** 隶属公司 */@Excel(name = "隶属公司的名称")private Long companyName;public Long getCompanyName() {return companyName;}public void setCompanyName(Long companyName) {this.companyName = companyName;}@Overridepublic String toString() {return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE).append("workshopId", getWorkshopId()).append("workshopName", getWorkshopName()).append("workshopDesc", getWorkshopDesc()).append("companyId", getCompanyId()).append("companyName", getCompanyName()).append("backgroundImg", getBackgroundImg()).append("status", getStatus()).append("delFlag", getDelFlag()).append("createBy", getCreateBy()).append("createTime", getCreateTime()).append("updateBy", getUpdateBy()).append("updateTime", getUpdateTime()).toString();}

SQL语句改造(添加Join查询)

resultMap 中增加 property=“companyName”

<resultMap type="DigWorkshop" id="DigWorkshopResult">---略---<result property="companyId"    column="company_id"    /><result property="companyName"    column="company_name"    />---略---</resultMap>

Select公共字段改造(添加company_name列)

SELECTa.workshop_id,a.workshop_name,a.workshop_desc,a.company_id,b.company_name,a.background_img,a. STATUS,a.del_flag,a.create_by,a.create_time,a.update_by,a.update_time
FROMdig_workshop a
LEFT JOIN dig_company b ON a.company_id = b.company_id

BUG

测试部署

在这里插入图片描述
看一下后台报错信息:

(无法确定返回值类型)

org.springframework.dao.DataIntegrityViolationException: 
Error attempting to get column 'company_name' from result set.  
Cause: 
java.sql.SQLDataException: 
Cannot determine value type from string '江苏联康信息股份有限公司'

在这里插入图片描述
虽然它的报错信息,是在service的实现类里,但是我跟进去看了一下,发现写的代码没什么问题。

值无法匹配

我想了想:Error attempting to get column ‘company_name’ from result set. 尝试从result set中获取company_name失败。

是不是这个字段和我实体类里的属性无法匹配?

我去实体类里一看,果然发现了问题的阿症结所在

我居然把companyName的类型写错了,我写成了Long类型,但是它返回的数据是String类型,当然无法匹配了。
在这里插入图片描述

将companyName类型修改为 String类型。

在这里插入图片描述

修复BUG,再次测试部署

再次测试部署,成功显示

在这里插入图片描述

这篇关于【关联字段如何在列表中显示】查询车间列表页面中,显示关联的公司(company)字段的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/559674

相关文章

python中列表应用和扩展性实用详解

《python中列表应用和扩展性实用详解》文章介绍了Python列表的核心特性:有序数据集合,用[]定义,元素类型可不同,支持迭代、循环、切片,可执行增删改查、排序、推导式及嵌套操作,是常用的数据处理... 目录1、列表定义2、格式3、列表是可迭代对象4、列表的常见操作总结1、列表定义是处理一组有序项目的

C++11范围for初始化列表auto decltype详解

《C++11范围for初始化列表autodecltype详解》C++11引入auto类型推导、decltype类型推断、统一列表初始化、范围for循环及智能指针,提升代码简洁性、类型安全与资源管理效... 目录C++11新特性1. 自动类型推导auto1.1 基本语法2. decltype3. 列表初始化3

解密SQL查询语句执行的过程

《解密SQL查询语句执行的过程》文章讲解了SQL语句的执行流程,涵盖解析、优化、执行三个核心阶段,并介绍执行计划查看方法EXPLAIN,同时提出性能优化技巧如合理使用索引、避免SELECT*、JOIN... 目录1. SQL语句的基本结构2. SQL语句的执行过程3. SQL语句的执行计划4. 常见的性能优

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

一文详解如何使用Java获取PDF页面信息

《一文详解如何使用Java获取PDF页面信息》了解PDF页面属性是我们在处理文档、内容提取、打印设置或页面重组等任务时不可或缺的一环,下面我们就来看看如何使用Java语言获取这些信息吧... 目录引言一、安装和引入PDF处理库引入依赖二、获取 PDF 页数三、获取页面尺寸(宽高)四、获取页面旋转角度五、判断

Windows环境下解决Matplotlib中文字体显示问题的详细教程

《Windows环境下解决Matplotlib中文字体显示问题的详细教程》本文详细介绍了在Windows下解决Matplotlib中文显示问题的方法,包括安装字体、更新缓存、配置文件设置及编码調整,并... 目录引言问题分析解决方案详解1. 检查系统已安装字体2. 手动添加中文字体(以SimHei为例)步骤

MyBatis-Plus通用中等、大量数据分批查询和处理方法

《MyBatis-Plus通用中等、大量数据分批查询和处理方法》文章介绍MyBatis-Plus分页查询处理,通过函数式接口与Lambda表达式实现通用逻辑,方法抽象但功能强大,建议扩展分批处理及流式... 目录函数式接口获取分页数据接口数据处理接口通用逻辑工具类使用方法简单查询自定义查询方法总结函数式接口

MySql基本查询之表的增删查改+聚合函数案例详解

《MySql基本查询之表的增删查改+聚合函数案例详解》本文详解SQL的CURD操作INSERT用于数据插入(单行/多行及冲突处理),SELECT实现数据检索(列选择、条件过滤、排序分页),UPDATE... 目录一、Create1.1 单行数据 + 全列插入1.2 多行数据 + 指定列插入1.3 插入否则更

MySQL 多列 IN 查询之语法、性能与实战技巧(最新整理)

《MySQL多列IN查询之语法、性能与实战技巧(最新整理)》本文详解MySQL多列IN查询,对比传统OR写法,强调其简洁高效,适合批量匹配复合键,通过联合索引、分批次优化提升性能,兼容多种数据库... 目录一、基础语法:多列 IN 的两种写法1. 直接值列表2. 子查询二、对比传统 OR 的写法三、性能分析

Python中将嵌套列表扁平化的多种实现方法

《Python中将嵌套列表扁平化的多种实现方法》在Python编程中,我们常常会遇到需要将嵌套列表(即列表中包含列表)转换为一个一维的扁平列表的需求,本文将给大家介绍了多种实现这一目标的方法,需要的朋... 目录python中将嵌套列表扁平化的方法技术背景实现步骤1. 使用嵌套列表推导式2. 使用itert