public class DefaultObjectMerge extends Object implements ObjectMerge
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.最后则把合并好的对象最后整理换名称等等| 构造器和说明 |
|---|
DefaultObjectMerge() |
| 限定符和类型 | 方法和说明 |
|---|---|
List<ModelObject> |
getMergeAfterObjects(List<ModelObject> objects,
Class queryTableClass)
通过一系列的结果集转换整合得到一个带父子关系的对象集合
|
void |
setMapperSelectFields(List<SelectFieldAliasReference> mapperSelectFields)
设置select的所有字段集合
|
void |
setMappingNamedConvert(ModelObjectConvertKey modelObjectConvertKey)
设置映射类和映射表的字段转换类
|
void |
setMergeTree(MergeTree top)
设置一次查询的树形描述类
|
public List<ModelObject> getMergeAfterObjects(List<ModelObject> objects, Class queryTableClass)
getMergeAfterObjects 在接口中 ObjectMergeobjects - 查询后得到的对象queryTableClass - 主表的映射类public void setMappingNamedConvert(ModelObjectConvertKey modelObjectConvertKey)
setMappingNamedConvert 在接口中 ObjectMergemodelObjectConvertKey - 转换类public void setMapperSelectFields(List<SelectFieldAliasReference> mapperSelectFields)
setMapperSelectFields 在接口中 ObjectMergemapperSelectFields - select的字段集合public void setMergeTree(MergeTree top)
setMergeTree 在接口中 ObjectMergetop - 描述查询的树形结构对象Copyright © 2020. All rights reserved.