All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.cassite.daf4j.stream.QueryStream Maven / Gradle / Ivy

The newest version!
package net.cassite.daf4j.stream;

import net.cassite.daf4j.*;

import java.util.Iterator;
import java.util.List;

/**
 * QueryStream查询.
* 用于查询实体序列 * * @param 实体类型 */ public class QueryStream extends QueryStreamBase> implements Iterable { public QueryStream(E entity, DataAccess dataAccess) { super(entity, dataAccess); } /** * 将结果转换为List[实体] * * @return List类型的结果 */ public List list() { return dataAccess.list(entity, andOr, parameter); } /** * 执行计数 * * @return long类型的计数结果 */ public long count() { return DataUtils.executeCount(entity, andOr, parameter, dataAccess); } /** * 映射所有非集合字段 * * @return 映射后的stream */ public QueryProjectionStream mapAll() { return map((Focus) null); } /** * 映射指定字段/表达式 * * @param focus 要映射的字段/表达式 * @return 映射后的stream */ public QueryProjectionStream map(Focus focus) { QueryParameterWithFocus p = new QueryParameterWithFocus(parameter, focus); return new QueryProjectionStream(entity, dataAccess, andOr, p); } /** * 映射到整型的stream * * @param data 表示整型的字段 * @return 映射后的stream */ public QueryIntStream mapToInt(DataComparable data) { return new QueryIntStream(entity, dataAccess, andOr, parameter, data); } /** * 映射到Long的stream * * @param data 表示Long的字段 * @return 映射后的stream */ public QueryLongStream mapToLong(DataComparable data) { return new QueryLongStream(entity, dataAccess, andOr, parameter, data); } /** * 映射到Double的stream * * @param data 表示Double的字段 * @return 映射后的stream */ public QueryDoubleStream mapToDouble(DataComparable data) { return new QueryDoubleStream(entity, dataAccess, andOr, parameter, data); } public PreResult subQuery() { PreResult preResult = new PreResult(dataAccess, entity, andOr); preResult.parameter = this.parameter; return preResult; } @Override public Iterator iterator() { return list().iterator(); } /** * 获取第一条记录 * * @return 第一条记录 */ public E first() { List list = this.limit(1).list(); return list == null || list.size() == 0 ? null : list.get(0); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy