com.j256.ormlite.stmt.QueryBuilder.offset()方法的使用及代码示例

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

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

QueryBuilder.offset介绍

[英]Start the output at this row number. Set to null for no offset (the default). If you are paging through a table, you should consider using the Dao#iterator() method instead which handles paging with a database cursor. Otherwise, if you are paging you probably want to specify a #orderBy(String,boolean).

NOTE: This is not supported for all databases. Also, for some databases, the limit must also be specified since the offset is an argument of the limit.
[中]从这个行号开始输出。设置为空表示无偏移(默认值)。如果您正在通过一个表进行分页,则应该考虑使用DaO-SoiTyror()方法,而不是用数据库游标来处理分页。否则,如果要分页,可能需要指定#orderBy(字符串,布尔值)。
注意:并非所有数据库都支持这一点。此外,对于某些数据库,还必须指定限制,因为偏移量是限制的参数。

代码示例

代码示例来源:origin: magefree/mage

qb.offset(start);

代码示例来源:origin: TeamWalrus/Walrus

public static <T> T getNthRow(Dao<T, ?> dao, long row) {
  try {
    QueryBuilder<T, ?> queryBuilder = dao.queryBuilder();
    queryBuilder.limit(1L);
    queryBuilder.offset(row);
    return queryBuilder.query().get(0);
  } catch (SQLException e) {
    throw new RuntimeException(e);
  }
}

代码示例来源:origin: QuickBlox/q-municate-android

public List<T> getSkippedSorted(long startRow, long perPage, String sortedColumn, boolean ascending) {
  List<T> objectsList = Collections.emptyList();
  try {
    QueryBuilder<T, Long> queryBuilder = dao.queryBuilder();
    queryBuilder.offset(startRow).limit(perPage);
    queryBuilder.orderBy(sortedColumn, ascending);
    PreparedQuery<T> preparedQuery = queryBuilder.prepare();
    objectsList = dao.query(preparedQuery);
  } catch (SQLException e) {
    ErrorUtils.logError(e);
  }
  return objectsList;
}

代码示例来源:origin: j256/ormlite-core

@Test
public void testOffset() throws Exception {
  QueryBuilder<Foo, Integer> qb = new QueryBuilder<Foo, Integer>(databaseType, baseFooTableInfo, null);
  long offset = 1;
  long limit = 2;
  qb.offset(offset);
  qb.limit(limit);
  StringBuilder sb = new StringBuilder();
  sb.append("SELECT * FROM ");
  databaseType.appendEscapedEntityName(sb, baseFooTableInfo.getTableName());
  sb.append(" LIMIT ").append(offset).append(',').append(limit).append(' ');
  assertEquals(sb.toString(), qb.prepareStatementString());
}

代码示例来源:origin: ikidou/Retrofit2Demo

result = queryBuilder.limit(10L).offset((page - 1) * 10).query();

代码示例来源:origin: j256/ormlite-core

@Test
public void testOffsetAndLimit() throws Exception {
  Dao<Foo, Integer> dao = createDao(Foo.class, false);
  QueryBuilder<Foo, Integer> qb = new QueryBuilder<Foo, Integer>(new LimitInline(), baseFooTableInfo, dao);
  long offset = 200;
  long limit = 213;
  qb.offset(offset);
  qb.limit(limit);
  PreparedQuery<Foo> stmt = qb.prepare();
  stmt.getStatement();
  StringBuilder sb = new StringBuilder();
  sb.append("SELECT * FROM ");
  databaseType.appendEscapedEntityName(sb, baseFooTableInfo.getTableName());
  sb.append(" LIMIT ").append(limit);
  sb.append(" OFFSET ").append(offset).append(' ');
  assertEquals(sb.toString(), qb.prepareStatementString());
}

代码示例来源:origin: com.j256.ormlite/ormlite-jdbc

@Test
public void testLimitOffsetFormat() throws Exception {
  if (connectionSource == null) {
    return;
  }
  TableInfo<StringId, String> tableInfo = new TableInfo<StringId, String>(connectionSource, null, StringId.class);
  QueryBuilder<StringId, String> qb = new QueryBuilder<StringId, String>(databaseType, tableInfo, null);
  long limit = 1232;
  qb.limit(limit);
  long offset = 171;
  qb.offset(offset);
  String query = qb.prepareStatementString();
  assertTrue(query + " should contain LIMIT", query.contains(" LIMIT " + offset + "," + limit + " "));
}

代码示例来源:origin: com.j256.ormlite/ormlite-jdbc

qb.limit((long) numPerPage);
int offset = pageC * numPerPage;
qb.offset((long) offset);
List<Foo> results = qb.query();
for (int i = 0; i < results.size(); i++) {

代码示例来源:origin: org.mycontroller.standalone/mycontroller-core

queryBuilder.offset(query.getStartingRow());

代码示例来源:origin: mycontroller-org/mycontroller

queryBuilder.offset(query.getStartingRow());

代码示例来源:origin: j256/ormlite-core

@Test
public void testOffsetWorks() throws Exception {
  Dao<Foo, Integer> dao = createDao(Foo.class, true);
  Foo foo1 = new Foo();
  assertEquals(1, dao.create(foo1));
  Foo foo2 = new Foo();
  assertEquals(1, dao.create(foo2));
  assertEquals(2, dao.queryForAll().size());
  QueryBuilder<Foo, Integer> qb = dao.queryBuilder();
  long offset = 1;
  long limit = 2;
  qb.offset(offset);
  qb.limit(limit);
  List<Foo> results = dao.query(qb.prepare());
  assertEquals(1, results.size());
}

代码示例来源:origin: com.j256.ormlite/ormlite-jdbc

@Test
public void testOffsetWithLimit() throws Exception {
  Dao<Foo, Object> dao = createDao(Foo.class, true);
  Foo foo1 = new Foo();
  foo1.id = "stuff1";
  assertEquals(1, dao.create(foo1));
  Foo foo2 = new Foo();
  foo2.id = "stuff2";
  assertEquals(1, dao.create(foo2));
  assertEquals(2, dao.queryForAll().size());
  QueryBuilder<Foo, Object> qb = dao.queryBuilder();
  long offset = 1;
  long limit = 2;
  qb.offset(offset);
  qb.limit(limit);
  List<Foo> results = dao.query(qb.prepare());
  assertEquals(1, results.size());
}

代码示例来源:origin: com.j256.ormlite/ormlite-jdbc

@Test
public void testOffsetNoLimit() throws Exception {
  Dao<Foo, Object> dao = createDao(Foo.class, true);
  Foo foo1 = new Foo();
  foo1.id = "stuff1";
  assertEquals(1, dao.create(foo1));
  Foo foo2 = new Foo();
  foo2.id = "stuff2";
  assertEquals(1, dao.create(foo2));
  assertEquals(2, dao.queryForAll().size());
  QueryBuilder<Foo, Object> qb = dao.queryBuilder();
  qb.offset(1L);
  try {
    dao.query(qb.prepare());
    fail("expected exception");
  } catch (SQLException e) {
    // expected
  }
}

代码示例来源:origin: zulip/zulip-android

.offset((long) olderThan).limit((long) 1)
.queryForFirst().getID();

相关文章