`

通过MAP加载数据库子集

    博客分类:
  • java
阅读更多

给实体加载子集的算法

有a b两张表,b表是a表的子表,b表的columnB字段关联a表的columnB字段

第一种情况

A表中columnB不重复

查询出A的列表 List<A> aList

将aList转化为Map<columnB,A> map

查询出关联的B列表 List<B> bList

循环bList通过columnB字段在map中查询出对应的A 将子集放入A中

 

第二种情况

今天发现复合主键表中会出现columnB字段重复的情况将,字段重复以后会覆盖map中的A。

改进代码

查询出A的列表 List<A> aList

将aList转化为Map<columnB,List<A>> map

查询出关联的B列表 List<B> bList

循环bList通过columnB字段在map中查询出对应的List<A> aList2

循环aList2 将子集放入对应元素

分享到:
评论

相关推荐

    MapServer资料

    MapServer的设计架构基于模块化原则,这意味着用户可以根据具体需求选择性地加载所需功能模块,从而构建定制化的GIS应用环境。 #### MapServer应用解剖 MapServer的应用通常包括以下几个关键组件: 1. **地图文件...

    基于Greenplum Hadoop- 分布式平台的大数据解决方案20 - 定义数据库对象(10).zip

    通过ETL(提取、转换、加载)过程,可以从Hadoop导入数据到Greenplum,利用其高级查询能力。 本课程的第20部分,"定义数据库对象(10)",可能详细讲解了在Greenplum环境中如何创建和管理上述数据库对象,以及如何...

    精通HIBERNATE

    2. **持久化模型**:在Hibernate中,持久化类是Java对象的子集,它们的实例可以通过Hibernate持久化到数据库中。持久化类通常包含主键、属性、关联等元素。 3. **HQL(Hibernate Query Language)**:这是Hibernate...

    ArcGIS Server 各种服务 详细介绍

    通过这个服务,用户可以将地理数据库中的数据转换为Web可用的地图,供Web应用程序或移动设备访问。Map Service支持动态渲染,可以根据用户的查询参数实时生成地图视图,也可以预缓存地图切片以提高性能。 ### 2. ...

    将SQL的查询结果以表格形式返回,并生成翻页等

    在描述中提到的,通过这种方式,开发者可以避免每次从数据库获取新数据时都需要重新编写代码。这意味着开发者可以创建一个通用的函数或方法,比如`GetSearchResultByTableFormat.java`,这个文件很可能是实现此功能...

    02 mybatis进阶4

    * classPathEntry:在 MBG 工作的时候,需要额外加载的依赖包。 * context:用于指定生成一组对象的环境。 * property:设置一些固定属性。 * plugin:定义一个插件,用于扩展或修改通过 MBG 生成的代码。 * ...

    《大数据技术原理与操作应用》第7章习题答案.pdf

    - 数据被分为数据库、数据表、分区和桶,其中分区是按照特定字段划分的子集,桶则是通过哈希函数将数据分布到特定的文件中。 7. 其他概念: - Hive 支持将元数据存储在 MySQL 等外部数据库中,需要添加相应的 ...

    Hive调优全方位指南.docx

    1. **增加Map任务数量**:通过调整`mapreduce.job.maps`参数,增加Map任务的数量,使数据更加均匀地分布在各个Map任务中。 2. **调整分区键**:选择合适的数据字段作为分区键,使得数据尽可能平均分布。 3. **使用...

    利用ArcObjects组件技术实现图层的分类符号化.pdf

    ArcGIS提供了多个对象模型图,每个图都代表了一个逻辑上的子集,例如地图文档、地理数据库、地图服务等。 ##### 2.2 ArcObjects组件对象间的关联 在ArcObjects中,组件对象之间的关联主要包括: - **组合...

    Hive数据仓库工具----220222.rar

    例如,可以使用CREATE TABLE语句创建表,LOAD DATA命令加载数据,SELECT查询数据,以及使用PARTITION BY进行分区查询。 五、Hive性能优化 1. 分区:通过分区减少不必要的数据扫描,提高查询速度。 2. 桶化:桶化...

    Python题库.pdf

    15. **map函数**:`map()`可以将函数应用到列表的每个元素上,如`list(map(str, [1, 2, 3]))`将整数列表转换为字符串列表。 16. **元组赋值**:`x = 3==3, 5`会创建一个元组`(True, 5)`,其中`x`的值就是这个元组。...

    json-lib-2.4及其依赖包.zip

    通过使用json-lib,开发者可以轻松地在服务器端和客户端之间交换数据,无论这些数据是存储在数据库中还是作为网络请求的一部分。 该压缩包"json-lib-2.4及其依赖包.zip"包含了JSON-Lib 2.4版本的库文件,以及其运行...

    《大数据平台搭建与配置管理》期末试题试卷及答案AB卷2套.docx

    - MapReduce框架会为每个Map任务分配一个数据子集进行处理。 30. **ZooKeeper的角色** - ZooKeeper在集群中扮演着服务发现和协调的角色,确保集群的正常运行。 31. **ZooKeeper调度** - ZooKeeper并不直接负责...

    APRIORI.rar_数据结构_Java_

    - **Map**:在Java中,`Map`接口用于存储键值对,它在这儿被用来表示交易记录。每个键(Key)代表一个项目,而值(Value)可能表示该项目在交易中的频率或其它相关信息。`HashMap`或`TreeMap`可能是实现此类数据...

    ENVI主菜单中英文对照

    - **通过感兴趣区裁剪数据(选取子集)(Subset data via ROIs)**:根据预先定义的兴趣区域来裁剪数据。 - **旋转/翻转数据(Rotate/flip data)**:对数据进行旋转或翻转操作。 - **图层堆栈(Layer stacking)**:将多...

    数据立方体datacube.zip

    数据立方体存储的是有趣输入数据点的子集。比如,你正在编写一个 web 服务器日志分析工具,你的输入点可能是日志行,你可能会计算每个浏览器的类型,每个浏览器的版本,操作系统类型,操作系统版本和其他属性。同时...

    《大数据平台搭建与配置管理》期末试题试卷及答案.docx

    - Map任务得到的中间结果确实通过Shuffle过程传递给Reduce处理。 49. **Reduce任务之间的信息交换** - 不同Reduce任务之间通常不会发生信息交换。 50. **ZooKeeper的版本控制** - 使用`delete`或`setData`操作...

    分页

    2. **分页算法**:在JavaScript中,实现分页需要计算当前页的起始索引和结束索引,根据这些索引来获取数据库或API返回的数据子集。例如,如果每页显示10条记录,第二页的起始索引就是11,结束索引是20。 3. **数据...

    data_analysis_with_pandas:使用Python3Pandas 1.0.3的示例中最常见的操作(Jupyter Notebook)

    Pandas的`apply()`函数可以自定义数据处理逻辑,而`map()`和`applymap()`则用于按列或按元素操作。 数据筛选和子集选择是常见的操作。你可以使用布尔索引(如`df[df['column'] &gt; value]`)或`.loc`和`.iloc`访问器...

Global site tag (gtag.js) - Google Analytics