当前位置: 首页>>代码示例>>Java>>正文


Java SQLQuery.select方法代码示例

本文整理汇总了Java中com.querydsl.sql.SQLQuery.select方法的典型用法代码示例。如果您正苦于以下问题:Java SQLQuery.select方法的具体用法?Java SQLQuery.select怎么用?Java SQLQuery.select使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.querydsl.sql.SQLQuery的用法示例。


在下文中一共展示了SQLQuery.select方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: addToQuery

import com.querydsl.sql.SQLQuery; //导入方法依赖的package包/类
public void addToQuery(OrderBy orderBy, Expression<?> sqlExpression, SQLQuery<Tuple> sqlQuery) {
    if (sqlExpression instanceof ComparableExpressionBase) {
        ComparableExpressionBase comparable = (ComparableExpressionBase) sqlExpression;
        Expression<?> projection = sqlQuery.getMetadata().getProjection();
        if (projection instanceof QTuple) {
            QTuple qTuple = (QTuple) projection;
            List<Expression<?>> args = new ArrayList<>(qTuple.getArgs());
            args.add(comparable);
            sqlQuery.select(args.toArray(new Expression[args.size()]));
        }

        if (orderBy.getType() == OrderBy.OrderType.Ascending) {
            sqlQuery.orderBy(comparable.asc());
        } else {
            sqlQuery.orderBy(comparable.desc());
        }
    }
}
 
开发者ID:FraunhoferIOSB,项目名称:SensorThingsServer,代码行数:19,代码来源:PgExpressionHandler.java

示例2: expectedWorkAmount

import com.querydsl.sql.SQLQuery; //导入方法依赖的package包/类
/**
 * Getting the expected work amount for a date period. The calculation for each day in the range
 * is done in the following order:
 * <ol>
 * <li>if there is an exact work day specified for a specific date, that is used. Otherwise</li>
 * <li>if there is a replacement day of a public holiday and there is a weekday specified for the
 * replaced holiday, that is used. Otherwise</li>
 * <li>If there is a non holiday weekday, that is used. Otherwise</li>
 * <li>zero is used.</li>
 * </ol>
 *
 * @param userId
 *          The id of the user who should have done the work.
 * @param startDate
 *          The date when we start calculating the work that should be done from.
 * @param endDateExcluded
 *          The date until we calculate the work that should be done (excluded).
 * @return The amount of work that should be done by the specified user in the specific time
 *         period.
 */
public static SQLQuery<Long> expectedWorkAmount(final Expression<Long> userId,
    final Expression<Date> startDate, final Expression<Date> endDateExcluded) {

  QDateSequence qDates = new QDateSequence("exp_work_dates");
  QDateRange qDateRange = new QDateRange("exp_work_date_range");
  QUserWorkScheme qUserWorkScheme = new QUserWorkScheme("exp_work_user_work_scheme");

  SQLQuery<Long> query = new SQLQuery<>();
  query.select(
      new Coalesce<Long>(Long.class,
          exactWorkSubSelect(qUserWorkScheme.workSchemeId, qDates.date),
          replacementWeekdaySubSelect(qUserWorkScheme.workSchemeId, userId, qDates.date),
          nonHolidayWeekdaySubSelect(qUserWorkScheme.workSchemeId, userId, qDates.date),
          Expressions.ZERO)
              .asNumber().sum());
  query
      .from(qDates)
      .innerJoin(qDateRange)
      .on(qDateRange.startDate.loe(qDates.date).and(qDateRange.endDateExcluded.gt(qDates.date)))
      .innerJoin(qUserWorkScheme).on(qUserWorkScheme.dateRangeId.eq(qDateRange.dateRangeId))
      .where(qDates.date.goe(startDate).and(qDates.date.lt(endDateExcluded))
          .and(qUserWorkScheme.userId.eq(userId)));

  return query;
}
 
开发者ID:everit-org,项目名称:jira-hr-admin,代码行数:46,代码来源:QueryUtil.java

示例3: visit

import com.querydsl.sql.SQLQuery; //导入方法依赖的package包/类
@Override
public void visit(EntitySetPathElement element) {

    int top = query.getTopOrDefault();
    sqlQuery.limit(top + 1);

    int skip = 0;
    if (query.getSkip().isPresent()) {
        skip = query.getSkip().get();
        sqlQuery.offset(skip);
    }
    long start = System.currentTimeMillis();
    if (LOGGER.isTraceEnabled()) {
        LOGGER.trace("Query: {}", sqlQuery.getSQL().getSQL());
    }
    CloseableIterator<Tuple> results = sqlQuery.iterate(); //fetch();
    if (LOGGER.isDebugEnabled()) {
        long end = System.currentTimeMillis();
        LOGGER.debug("Query executed in {} ms.", end - start);
    }

    PropertyHelper.entityFromTupleFactory<? extends Entity> factory = PropertyHelper.getFactoryFor(element.getEntityType().getImplementingClass());
    EntitySet<? extends Entity> entitySet = PropertyHelper.createSetFromTuples(factory, results, query, pm.getCoreSettings().getDataSizeMax());

    if (entitySet == null) {
        throw new IllegalStateException("Empty set!");
    }

    if (query.isCountOrDefault()) {
        SQLQuery<Tuple> countQuery = sqlQuery.clone();
        countQuery.select(factory.getPrimaryKey());
        int count = (int) countQuery.fetchCount();
        entitySet.setCount(count);
    }

    int entityCount = entitySet.size();
    boolean hasMore = results.hasNext();
    if (entityCount < top && hasMore) {
        // The loading was aborted, probably due to size constraints.
        query.setTop(entityCount);
    }
    if (hasMore) {
        entitySet.setNextLink(UrlHelper.generateNextLink(path, query));
    }
    for (Entity e : entitySet) {
        expandEntity(e, query);
    }
    resultObject = entitySet;
}
 
开发者ID:FraunhoferIOSB,项目名称:SensorThingsServer,代码行数:50,代码来源:EntityCreator.java


注:本文中的com.querydsl.sql.SQLQuery.select方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。