org.greenrobot.greendao.query.QueryBuilder.limit()方法的使用及代码示例

x33g5p2x  于2022-01-28 转载在 其他  
字(8.8k)|赞(0)|评价(0)|浏览(203)

本文整理了Java中org.greenrobot.greendao.query.QueryBuilder.limit方法的一些代码示例,展示了QueryBuilder.limit的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。QueryBuilder.limit方法的具体详情如下:
包路径:org.greenrobot.greendao.query.QueryBuilder
类名称:QueryBuilder
方法名:limit

QueryBuilder.limit介绍

[英]Limits the number of results returned by queries.
[中]限制查询返回的结果数。

代码示例

代码示例来源:origin: greenrobot/greenDAO

public void testQueryBuilderLimit() {
  insert(10);
  List<TestEntity> result = dao.queryBuilder().limit(3).orderAsc(Properties.SimpleInt).list();
  assertEquals(3, result.size());
  assertEquals(getSimpleInteger(0), result.get(0).getSimpleInteger().intValue());
  assertEquals(getSimpleInteger(1), result.get(1).getSimpleInteger().intValue());
  assertEquals(getSimpleInteger(2), result.get(2).getSimpleInteger().intValue());
}

代码示例来源:origin: greenrobot/greenDAO

public void testQueryUnsetOffset() {
  Query<TestEntity> query = dao.queryBuilder().limit(1).build();
  try{
    query.setOffset(1);
    fail("Offset must be defined in builder first");
  } catch(RuntimeException expected) {
    //OK
  }
}

代码示例来源:origin: greenrobot/greenDAO

public void testQueryBuilderOffsetAndLimit() {
  insert(10);
  List<TestEntity> result = dao.queryBuilder().offset(3).limit(3).orderAsc(Properties.SimpleInt).list();
  assertEquals(3, result.size());
  assertEquals(getSimpleInteger(3), result.get(0).getSimpleInteger().intValue());
  assertEquals(getSimpleInteger(4), result.get(1).getSimpleInteger().intValue());
  assertEquals(getSimpleInteger(5), result.get(2).getSimpleInteger().intValue());
}

代码示例来源:origin: greenrobot/greenDAO

public void testQueryBuilderOffsetAndLimitWithWhere() {
  insert(10);
  List<TestEntity> result = dao.queryBuilder().where(Properties.SimpleInteger.gt(getSimpleInteger(1))).offset(2)
      .limit(3).orderAsc(Properties.SimpleInt).list();
  assertEquals(3, result.size());
  assertEquals(getSimpleInteger(4), result.get(0).getSimpleInteger().intValue());
  assertEquals(getSimpleInteger(5), result.get(1).getSimpleInteger().intValue());
  assertEquals(getSimpleInteger(6), result.get(2).getSimpleInteger().intValue());
}

代码示例来源:origin: greenrobot/greenDAO

@Override
  public void run() {
    QueryBuilder<TestEntity> builder = dao.queryBuilder();
    builder.where(Properties.SimpleInteger.eq(getSimpleInteger(1)));
    builder.limit(10).offset(20);
    queryFromOtherThread = builder.build();
  }
};

代码示例来源:origin: greenrobot/greenDAO

public void testQueryLimitAndSetParameter() {
  Query<TestEntity> query = dao.queryBuilder().limit(5).offset(1).build();
  try{
    query.setParameter(0, (Object) null);
    fail("Offset/limit parameters must not interfere with user parameters");
  } catch(RuntimeException expected) {
    //OK
  }
}

代码示例来源:origin: greenrobot/greenDAO

public void testQueryOffsetAndLimit() {
  insert(10);
  Query<TestEntity> query = dao.queryBuilder().where(Properties.SimpleInteger.gt(getSimpleInteger(-1))).offset(-1)
      .limit(-1).orderAsc(Properties.SimpleInt).build(); 
  query.setParameter(0, getSimpleInteger(1));
  query.setLimit(3);
  query.setOffset(2);
  List<TestEntity> result = query.list();
  assertEquals(3, result.size());
  assertEquals(getSimpleInteger(4), result.get(0).getSimpleInteger().intValue());
  assertEquals(getSimpleInteger(5), result.get(1).getSimpleInteger().intValue());
  assertEquals(getSimpleInteger(6), result.get(2).getSimpleInteger().intValue());
}

代码示例来源:origin: greenrobot/greenDAO

public void testJoinMixedParameterValues() {
  prepareData();
  QueryBuilder<RelationEntity> queryBuilder = relationEntityDao.queryBuilder();
  queryBuilder.where(RelationEntityDao.Properties.SimpleString.like(""), RelationEntityDao.Properties.SimpleString.ge(""));
  Join<RelationEntity, TestEntity> join = queryBuilder.join(RelationEntityDao.Properties.TestIdNotNull,
      TestEntity.class);
  join.where(Properties.SimpleInt.le(0));
  queryBuilder.offset(0).limit(0);
  Query<RelationEntity> query = queryBuilder.build();
  query.setParameter(0, "entity-%");
  query.setParameter(1, "entity-4");
  query.setParameter(2, 6);
  query.setOffset(1);
  query.setLimit(99);
  List<RelationEntity> entities = query.list();
  assertEquals(2, entities.size());
  assertEquals("entity-5", entities.get(0).getSimpleString());
  assertEquals("entity-6", entities.get(1).getSimpleString());
}

代码示例来源:origin: chat-sdk/chat-sdk-android

public static <T extends CoreEntity> List<T>  fetchEntitiesWithPropertiesAndOrderAndLimit(Class<T> c, int limit, Property whereOrder, int order, Property properties[], Object... values){
  if (values == null || properties == null)
    throw new NullPointerException("You must have at least one value and one property");
  if (values.length != properties.length)
    throw new IllegalArgumentException("Values size should match properties size");
  QueryBuilder<T> qb = daoSession.queryBuilder(c);
  qb.where(properties[0].eq(values[0]));
  if (values.length > 1)
    for (int i = 0 ; i < values.length ; i++)
      qb.where(properties[i].eq(values[i]));
  if (whereOrder != null && order != -1)
    switch (order)
    {
      case ORDER_ASC:
        qb.orderAsc(whereOrder);
        break;
      case ORDER_DESC:
        qb.orderDesc(whereOrder);
        break;
    }
  if (limit != -1)
    qb.limit(limit);
  return qb.listLazy();
}

代码示例来源:origin: chat-sdk/chat-sdk-android

public List<Message> fetchMessagesForThreadWithID (long threadID, int limit, Date olderThan) {
  List<Message> list ;
  QueryBuilder<Message> qb = daoSession.queryBuilder(Message.class);
  qb.where(MessageDao.Properties.ThreadId.eq(threadID));
  // Making sure no null messages infected the sort.
  qb.where(MessageDao.Properties.Date.isNotNull());
  qb.where(MessageDao.Properties.SenderId.isNotNull());
  if(olderThan != null) {
    qb.where(MessageDao.Properties.Date.lt(olderThan.getTime()));
  }
  qb.orderDesc(MessageDao.Properties.Date);
  if (limit != -1)
    qb.limit(limit);
  list = qb.list();
  return list;
}

代码示例来源:origin: chat-sdk/chat-sdk-android

/** Fetch messages list from the db for current thread, Messages will be order Desc/Asc on demand.*/
@Keep
public List<Message> getMessagesWithOrder(int order, int limit) {
  QueryBuilder<Message> qb = daoSession.queryBuilder(Message.class);
  qb.where(MessageDao.Properties.ThreadId.eq(getId()));
  if(order == DaoCore.ORDER_ASC) {
    qb.orderAsc(MessageDao.Properties.Date);
  }
  else if(order == DaoCore.ORDER_DESC) {
    qb.orderDesc(MessageDao.Properties.Date);
  }
  // Making sure no null messages infected the sort.
  qb.where(MessageDao.Properties.Date.isNotNull());
  if (limit > 0) {
    qb.limit(limit);
  }
  Query<Message> query = qb.build().forCurrentThread();
  return query.list();
}

代码示例来源:origin: wallabag/android-app

private long getNewQueueNumber() {
  List<QueueItem> items = queueItemDao.queryBuilder()
      .orderDesc(QueueItemDao.Properties.QueueNumber)
      .limit(1)
      .list();
  if(items.isEmpty()) return 1;
  return items.get(0).getQueueNumber() + 1;
}

代码示例来源:origin: wallabag/android-app

@Override
protected List<Tag> getItems(int page) {
  QueryBuilder<Tag> qb = getQueryBuilder()
      .limit(PER_PAGE_LIMIT);
  if(page > 0) {
    qb.offset(PER_PAGE_LIMIT * page);
  }
  return detachObjects(qb.list());
}

代码示例来源:origin: byhieg/easyweather

@Override
public boolean isExistInCityWeather(String cityName) {
  List<WeatherEntity> res = mWeatherDao.queryBuilder().
      where(WeatherEntityDao.Properties.CityName.eq(cityName)).
      limit(1).list();
  return !isListEmpty(res);
}

代码示例来源:origin: wallabag/android-app

@Override
protected List<Article> getItems(int page) {
  QueryBuilder<Article> qb = getQueryBuilder()
      .limit(PER_PAGE_LIMIT);
  if(page > 0) {
    qb.offset(PER_PAGE_LIMIT * page);
  }
  return removeContent(detachObjects(qb.list()));
}

代码示例来源:origin: wallabag/android-app

.orderDesc(ArticleDao.Properties.ArticleId).limit(dbQuerySize);

代码示例来源:origin: CooLoongWu/CoolChat

.where(ChatDao.Properties.ChatType.eq(chatType), ChatDao.Properties.Id.lt(latestId))
    .whereOr(ChatDao.Properties.FromId.eq(chatId), ChatDao.Properties.ToId.eq(chatId))
    .limit(10)
    .orderDesc(ChatDao.Properties.Time)
    .build()
chats = chatDao.queryBuilder()
    .where(ChatDao.Properties.ChatType.eq(chatType), ChatDao.Properties.Id.lt(latestId), ChatDao.Properties.ToId.eq(chatId))
    .limit(10)
    .orderDesc(ChatDao.Properties.Time)
    .build()

代码示例来源:origin: CooLoongWu/CoolChat

.where(ChatDao.Properties.ChatType.eq(chatType))
    .whereOr(ChatDao.Properties.FromId.eq(chatId), ChatDao.Properties.ToId.eq(chatId))
    .limit(5)
    .orderDesc(ChatDao.Properties.Time)
    .build()
chats = chatDao.queryBuilder()
    .where(ChatDao.Properties.ChatType.eq(chatType), ChatDao.Properties.ToId.eq(chatId))
    .limit(5)
    .orderDesc(ChatDao.Properties.Time)
    .build()

代码示例来源:origin: wallabag/android-app

queryBuilder.limit(dbQuerySize);

代码示例来源:origin: wallabag/android-app

private Long getAdjacentArticle(boolean previous) {
  QueryBuilder<Article> qb = articleDao.queryBuilder();
  if(previous) qb.where(ArticleDao.Properties.ArticleId.gt(article.getArticleId()));
  else qb.where(ArticleDao.Properties.ArticleId.lt(article.getArticleId()));
  if(contextFavorites != null) qb.where(ArticleDao.Properties.Favorite.eq(contextFavorites));
  if(contextArchived != null) qb.where(ArticleDao.Properties.Archive.eq(contextArchived));
  if(previous) qb.orderAsc(ArticleDao.Properties.ArticleId);
  else qb.orderDesc(ArticleDao.Properties.ArticleId);
  List<Article> l = qb.limit(1).list();
  if(!l.isEmpty()) {
    return l.get(0).getId();
  }
  return null;
}

相关文章