【关联字段如何在列表中显示】查询车间列表页面中,显示关联的公司(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列表去重的4种核心方法与实战指南详解

《Python列表去重的4种核心方法与实战指南详解》在Python开发中,处理列表数据时经常需要去除重复元素,本文将详细介绍4种最实用的列表去重方法,有需要的小伙伴可以根据自己的需要进行选择... 目录方法1:集合(set)去重法(最快速)方法2:顺序遍历法(保持顺序)方法3:副本删除法(原地修改)方法4:

SQL表间关联查询实例详解

《SQL表间关联查询实例详解》本文主要讲解SQL语句中常用的表间关联查询方式,包括:左连接(leftjoin)、右连接(rightjoin)、全连接(fulljoin)、内连接(innerjoin)、... 目录简介样例准备左外连接右外连接全外连接内连接交叉连接自然连接简介本文主要讲解SQL语句中常用的表

MySQL高级查询之JOIN、子查询、窗口函数实际案例

《MySQL高级查询之JOIN、子查询、窗口函数实际案例》:本文主要介绍MySQL高级查询之JOIN、子查询、窗口函数实际案例的相关资料,JOIN用于多表关联查询,子查询用于数据筛选和过滤,窗口函... 目录前言1. JOIN(连接查询)1.1 内连接(INNER JOIN)1.2 左连接(LEFT JOI

MySQL 中查询 VARCHAR 类型 JSON 数据的问题记录

《MySQL中查询VARCHAR类型JSON数据的问题记录》在数据库设计中,有时我们会将JSON数据存储在VARCHAR或TEXT类型字段中,本文将详细介绍如何在MySQL中有效查询存储为V... 目录一、问题背景二、mysql jsON 函数2.1 常用 JSON 函数三、查询示例3.1 基本查询3.2

MySQL中的交叉连接、自然连接和内连接查询详解

《MySQL中的交叉连接、自然连接和内连接查询详解》:本文主要介绍MySQL中的交叉连接、自然连接和内连接查询,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、引入二、交php叉连接(cross join)三、自然连接(naturalandroid join)四

mysql的基础语句和外键查询及其语句详解(推荐)

《mysql的基础语句和外键查询及其语句详解(推荐)》:本文主要介绍mysql的基础语句和外键查询及其语句详解(推荐),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋... 目录一、mysql 基础语句1. 数据库操作 创建数据库2. 表操作 创建表3. CRUD 操作二、外键

如何高效移除C++关联容器中的元素

《如何高效移除C++关联容器中的元素》关联容器和顺序容器有着很大不同,关联容器中的元素是按照关键字来保存和访问的,而顺序容器中的元素是按它们在容器中的位置来顺序保存和访问的,本文介绍了如何高效移除C+... 目录一、简介二、移除给定位置的元素三、移除与特定键值等价的元素四、移除满足特android定条件的元

Mybatis 传参与排序模糊查询功能实现

《Mybatis传参与排序模糊查询功能实现》:本文主要介绍Mybatis传参与排序模糊查询功能实现,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、#{ }和${ }传参的区别二、排序三、like查询四、数据库连接池五、mysql 开发企业规范一、#{ }和${ }传参的

浅谈mysql的sql_mode可能会限制你的查询

《浅谈mysql的sql_mode可能会限制你的查询》本文主要介绍了浅谈mysql的sql_mode可能会限制你的查询,这个问题主要说明的是,我们写的sql查询语句违背了聚合函数groupby的规则... 目录场景:问题描述原因分析:解决方案:第一种:修改后,只有当前生效,若是mysql服务重启,就会失效;

MySQL多列IN查询的实现

《MySQL多列IN查询的实现》多列IN查询是一种强大的筛选工具,它允许通过多字段组合快速过滤数据,本文主要介绍了MySQL多列IN查询的实现,具有一定的参考价值,感兴趣的可以了解一下... 目录一、基础语法:多列 IN 的两种写法1. 直接值列表2. 子查询二、对比传统 OR 的写法三、性能分析与优化1.