100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 【关联字段如何在列表中显示】查询车间列表页面中 显示关联的公司(company)字段

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

时间:2021-01-06 02:14:58

相关推荐

【关联字段如何在列表中显示】查询车间列表页面中 显示关联的公司(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) {panyName = 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,pany_id,pany_name,a.background_img,a. STATUS,a.del_flag,a.create_by,a.create_time,a.update_by,a.update_timeFROMdig_workshop aLEFT JOIN dig_company b ON pany_id = pany_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,再次测试部署

再次测试部署,成功显示

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。