| 接口 | 说明 |
|---|---|
| ObjectMerge |
在每次查询得到结果之后返回的数据结构是一个Map,但是数据结构中的字段
可能和映射类的字段不一致这个时候需要字段的名称转换,并且数据库的join查询结果是
重复的,这个类会解析表格格式的结构变成树类型的结构数据,比如:{f1:'',f2:'',joinObject:[{f3:'',f4:''}]}
在得到树类型的结构数据之前需要先通过映射类和Query类的查询条件整合出join的结构类型
MergeTree 这个类型可以让程序在整合数据时知道每一个对象的父子关系
在整合数据过程中还必须要有 SelectFieldAliasReference 集合对象
查询条件得到的select语句后面的所有字段,比如 select f0,f1,f2 |
| VariableBeanName |
| 类 | 说明 |
|---|---|
| DefaultObjectMerge |
实现接口
ObjectMerge使得在查询后对象得以整合
整合方式是通过查询条件Query得到的树形查询条件结构的出来的
整合过程:
1.数据库查询得到的只是表格类型的数据,每一行数据都包含N个对象,所以先分解出每一行的所有对象集
2.如果想根据树形结构的查询条件对象MergeTree得出一个树形结构对象的数据,我的做法是将一个对象集合的集合进行去重
比如:
| 列1 列2 列3 列1 列2 列3
List[A, B, C]
List[A, D, C] -> List[A,[B,D],[D,E]]
List[A, D, E]
从这个结构可以看出从主查询开始去重,每一次去重把join查询的结构合并在一起,一直合并到最后一列对象(列3)
3.最后则把合并好的对象最后整理换名称等等 |
| DefaultVariableBeanName | |
| MergeTree |
用来描述一次Query查询时主表和join表对应的查询结构
当前的结构是树形结构的,以描述结果集的父子关系
类似B+树结构
|
| VariableBeanNameFactory |
Copyright © 2020. All rights reserved.