在列表显示某个内容,但数据表没有这个字段

news/2024/7/2 23:28:32

1.需求:在出房合同编辑页面添加业务类型内容显示

思路:根据房源编号查询公司房源信息表,获取业务类型,再设置进去

查询性能比较:

1)

 for (HbContractOut entity : page.getContent()) {

    // 根据房源编号获取业务类型
      // HouseCompanyInfo houseCompanyInfo =
      // houseCompanyInfoService.findByHouseBillNo(entity.getHouseBillNo());

}

如果循环10万次的话,就得多访问数据库10万次

2)改进后

private Map<String, Object> dealQueryResult(Page<HbContractOut> page) {
    List<HbContractOut> list = new ArrayList<>();
    Map<Integer, SysDeptment> detpMap = DataUtil.findDeptMap();
    Map<String, HouseCompanyInfo> houseCompanyMap = DataUtil.findCompanyTypeMap();
    for (HbContractOut entity : page.getContent()) {
      entity.setOutDeptName(detpMap.get(entity.getOutDeptId()).getDeptName());
      entity.setInTypeDesc(houseCompanyMap.get(entity.getHouseBillNo()).getInType().getDesc());
      list.add(entity);
    }
    DataUtil.renderSignedInfo(page.getContent(), WorkflowType.HB_CONTRACT_OUT);
    return UtilPublic.toModelMap(list, page.getTotalElements());
  }

public static Map<String, HouseCompanyInfo> findCompanyTypeMap() {
    HouseCompanyInfoService service = SpringContextHolder.getBean(HouseCompanyInfoService.class);
    return service.findMap();
  }

 

@Override
  public Map<String, HouseCompanyInfo> findMap() {
    Map<String, HouseCompanyInfo> retMap = new HashMap<>();
    houseCompanyInfoRepository.findAll().forEach(info -> {
      retMap.put(info.getHouseBillNo(), info);
    });
    return retMap;
  }

这个只访问数据库一次

注意:重复多次访问数据库会影响数据库性能的

 


http://lihuaxi.xjx100.cn/news/244638.html

相关文章

FastDFS之Linux下搭建

1.软件环境 CentOS6.5 FastDFS v5.05 libfastcommon- - master.zip&#xff08;是从 FastDFS 和 FastDHT 中提取出来的公共 C 函数库&#xff09; fastdfs- - nginx- - module_v1.16.tar.gz nginx- - 1.6.2.tar.gz fastdfs_client_java._v1.25.tar.gz 2.FastDFS集群规划 描述 …

flex版的流程设计器

第一章 介绍 1.1 编写目的 介绍流程设计软件并且简单附上使用说明。因为还不是很完善&#xff0c;所以希望大家能多提出自己的意见的见解。 1.2 基本结构 1.3 使用技术 主要使用flex技术做前端的页面&#xff0c;后端使用jbpm4.4做为流程引擎。 第二章 操作 2.1 完整界面 还在不…

比Postman好用20倍,目测要火!

最近国产API管理工具卷起来了&#xff0c;甚至发生了公开踩踏事件&#xff0c;但最后还是要回归产品&#xff0c;产品好才真的好。给大家推荐Eolink&#xff0c;低调又强大。Eolink是结合了 API 设计、文档管理、自动化测试、监控、研发管理和团队协作的一站式 API 生产平台&am…

解决js中数字相减为负数的情况

function loadSumInfo() { $.get(sumInfo, { houseBillNo : $(#houseBillNo).val() }, function(result) { var a result.totalAmt - result.approvedAmt - result.processAmt ; var s String.format(总金额:{0}, 支付中:{1}, 已支付:{2}, 待…

lamp-安装脚本-修订版2

#!/bin/bash #write by zhang_pc #at 2015.08.07 #apache2.4 php.5.4 mysql5.5 #脚本说明&#xff0c;如果脚本所在目录有源码包就用本地的&#xff0c;否则就从互联网下载APR_FILESapr-1.5.2.tar.gz APR_DIRapr-1.5.2 ARP_PRE/usr/local/apr APR_URLhttp://mirror.bit.edu.cn/…

第3课:SparkStreaming 透彻理解三板斧之三:解密SparkStreaming运行机制和架构进阶之Job和容错...

本期内容&#xff1a;解密Spark Streaming Job架构和运行机制解密Spark Streaming容错架构和运行机制理解SparkStreaming的Job的整个架构和运行机制对于精通SparkStreaming是至关重要的。我们知道对于一般的Spark应用程序来说&#xff0c;是RDD的action操作触发了Job的运行。那…

高阶函数的使用

问题 字节跳动面试时问题&#xff1a;原函数例如fetchData是一个异步函数&#xff0c;尝试从服务器端获取一些信息并返回一个Promise。写一个新的函数可以自动重试一定次数&#xff0c;并且在使用上和原函数没有区别。 思路 这个问题其实不是很难&#xff0c;不过可能是太菜了紧…

SpringDataJpA复杂查询实现自定义排序

需求&#xff1a; 列表页面实现按合同状态自定义排序 private Specification<TblContractPre> whereClause(final TblContractPre entity) { return new Specification<TblContractPre>() { Override public Predicate toPredicate(Root<TblContrac…