org.skife.jdbi.v2.Query.iterator()方法的使用及代码示例

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

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

Query.iterator介绍

[英]Obtain a forward-only result set iterator. Note that you must explicitely close the iterator to close the underlying resources.
[中]获取一个只向前的结果集迭代器。请注意,必须明确关闭迭代器才能关闭底层资源。

代码示例

代码示例来源:origin: apache/incubator-druid

  1. ).iterator();
  2. jg.writeStartArray();
  3. while (resultIterator.hasNext()) {

代码示例来源:origin: apache/incubator-druid

  1. try (final ResultIterator<byte[]> dbSegments = sql.map(ByteArrayMapper.FIRST).iterator()) {
  2. return VersionedIntervalTimeline.forSegments(
  3. Iterators.transform(

代码示例来源:origin: killbill/killbill

  1. .bind("accountRecordId", context.getAccountRecordId())
  2. .bind("tenantRecordId", context.getTenantRecordId())
  3. .iterator();
  4. try {
  5. while (iterator.hasNext()) {

代码示例来源:origin: apache/incubator-druid

  1. private List<SegmentIdWithShardSpec> getPendingSegmentsForIntervalWithHandle(
  2. final Handle handle,
  3. final String dataSource,
  4. final Interval interval
  5. ) throws IOException
  6. {
  7. final List<SegmentIdWithShardSpec> identifiers = new ArrayList<>();
  8. final ResultIterator<byte[]> dbSegments =
  9. handle.createQuery(
  10. StringUtils.format(
  11. "SELECT payload FROM %1$s WHERE dataSource = :dataSource AND start <= :end and %2$send%2$s >= :start",
  12. dbTables.getPendingSegmentsTable(), connector.getQuoteString()
  13. )
  14. )
  15. .bind("dataSource", dataSource)
  16. .bind("start", interval.getStart().toString())
  17. .bind("end", interval.getEnd().toString())
  18. .map(ByteArrayMapper.FIRST)
  19. .iterator();
  20. while (dbSegments.hasNext()) {
  21. final byte[] payload = dbSegments.next();
  22. final SegmentIdWithShardSpec identifier = jsonMapper.readValue(payload, SegmentIdWithShardSpec.class);
  23. if (interval.overlaps(identifier.getInterval())) {
  24. identifiers.add(identifier);
  25. }
  26. }
  27. dbSegments.close();
  28. return identifiers;
  29. }

代码示例来源:origin: apache/hive

  1. private static VersionedIntervalTimeline<String, DataSegment> getTimelineForIntervalWithHandle(final Handle handle,
  2. final String dataSource,
  3. final Interval interval,
  4. final MetadataStorageTablesConfig dbTables) throws IOException {
  5. Query<Map<String, Object>>
  6. sql =
  7. handle.createQuery(String.format(
  8. "SELECT payload FROM %s WHERE used = true AND dataSource = ? AND start <= ? AND \"end\" >= ?",
  9. dbTables.getSegmentsTable()))
  10. .bind(0, dataSource)
  11. .bind(1, interval.getEnd().toString())
  12. .bind(2, interval.getStart().toString());
  13. final VersionedIntervalTimeline<String, DataSegment> timeline = new VersionedIntervalTimeline<>(Ordering.natural());
  14. try (ResultIterator<byte[]> dbSegments = sql.map(ByteArrayMapper.FIRST).iterator()) {
  15. while (dbSegments.hasNext()) {
  16. final byte[] payload = dbSegments.next();
  17. DataSegment segment = JSON_MAPPER.readValue(payload, DataSegment.class);
  18. timeline.add(segment.getInterval(), segment.getVersion(), segment.getShardSpec().createChunk(segment));
  19. }
  20. }
  21. return timeline;
  22. }

代码示例来源:origin: apache/incubator-druid

  1. .bind("dataSource", dataSource)
  2. .map(ByteArrayMapper.FIRST)
  3. .iterator(),
  4. payload -> {
  5. try {

代码示例来源:origin: rakam-io/rakam

  1. @Override
  2. public Set<String> getProjects() {
  3. try (Handle handle = dbi.open()) {
  4. return ImmutableSet.copyOf(
  5. handle.createQuery("select name from project")
  6. .map(StringMapper.FIRST).iterator());
  7. }
  8. }

代码示例来源:origin: rakam-io/rakam

  1. @Override
  2. public Set<String> getProjects() {
  3. try (Handle handle = dbi.open()) {
  4. return ImmutableSet.copyOf(
  5. handle.createQuery("select name from project")
  6. .map(StringMapper.FIRST).iterator());
  7. }
  8. }

代码示例来源:origin: rakam-io/rakam

  1. p.apiKeys.add(ProjectApiKeys.create(r.getString(6), r.getString(7), r.getString(8)));
  2. return null;
  3. }).iterator();

代码示例来源:origin: rakam-io/rakam

  1. .bind("collection", checkProject(collection))
  2. .bind("schema", checkProject(project))
  3. .map(LongMapper.FIRST).iterator().next();

代码示例来源:origin: org.jdbi/jdbi

  1. @Test
  2. public void testNonPathologicalJustNext() throws Exception {
  3. h.createStatement("insert into something (id, name) values (1, 'eric')").execute();
  4. // Yes, you *should* use first(). But sometimes, an iterator is passed 17 levels deep and then
  5. // used in this way (Hello Jackson!).
  6. final Map<String, Object> result = h.createQuery("select * from something order by id")
  7. .cleanupHandle()
  8. .iterator()
  9. .next();
  10. assertEquals(1, result.get("id"));
  11. assertEquals("eric", result.get("name"));
  12. }

代码示例来源:origin: org.kill-bill.commons/killbill-jdbi

  1. @Test
  2. public void testNonPathologicalJustNext() throws Exception {
  3. h.createStatement("insert into something (id, name) values (1, 'eric')").execute();
  4. // Yes, you *should* use first(). But sometimes, an iterator is passed 17 levels deep and then
  5. // used in this way (Hello Jackson!).
  6. final Map<String, Object> result = h.createQuery("select * from something order by id")
  7. .cleanupHandle()
  8. .iterator()
  9. .next();
  10. assertEquals(1, result.get("id"));
  11. assertEquals("eric", result.get("name"));
  12. }

代码示例来源:origin: org.jdbi/jdbi

  1. @Test
  2. public void testEmptyWorksToo() throws Exception {
  3. ResultIterator<Map<String, Object>> it = h.createQuery("select * from something order by id")
  4. .cleanupHandle()
  5. .iterator();
  6. assertFalse(it.hasNext());
  7. }

代码示例来源:origin: org.kill-bill.commons/killbill-jdbi

  1. @Test
  2. public void testEmptyWorksToo() throws Exception {
  3. ResultIterator<Map<String, Object>> it = h.createQuery("select * from something order by id")
  4. .cleanupHandle()
  5. .iterator();
  6. assertFalse(it.hasNext());
  7. }

代码示例来源:origin: org.jdbi/jdbi

  1. @Test
  2. public void testEmptyExplosion() throws Exception {
  3. ResultIterator<Map<String, Object>> it = h.createQuery("select * from something order by id")
  4. .cleanupHandle()
  5. .iterator();
  6. try {
  7. it.next();
  8. fail("Expected IllegalStateException did not show up!");
  9. }
  10. catch (IllegalStateException iae) {
  11. // TestCase does not deal with the annotations...
  12. }
  13. }

代码示例来源:origin: org.kill-bill.commons/killbill-jdbi

  1. @Test
  2. public void testBasicCleanupIterator()
  3. throws Exception
  4. {
  5. final Handle handle = dbi.open();
  6. final Query<Integer> q = handle.createQuery("SELECT COUNT(1) FROM something")
  7. .cleanupHandle()
  8. .map(IntegerMapper.FIRST);
  9. final ResultIterator<Integer> it = q.iterator();
  10. assertEquals(COUNT, Iterators.getOnlyElement(it).intValue());
  11. assertFalse(it.hasNext());
  12. assertTrue(handle.getConnection().isClosed());
  13. }

代码示例来源:origin: org.jdbi/jdbi

  1. @Test
  2. public void testJustNext() throws Exception {
  3. h.createStatement("insert into something (id, name) values (1, 'eric')").execute();
  4. h.createStatement("insert into something (id, name) values (2, 'brian')").execute();
  5. h.createStatement("insert into something (id, name) values (3, 'john')").execute();
  6. ResultIterator<Map<String, Object>> it = h.createQuery("select * from something order by id")
  7. .cleanupHandle()
  8. .iterator();
  9. it.next();
  10. it.next();
  11. it.next();
  12. }

代码示例来源:origin: org.kill-bill.commons/killbill-jdbi

  1. @Test
  2. public void testJustNext() throws Exception {
  3. h.createStatement("insert into something (id, name) values (1, 'eric')").execute();
  4. h.createStatement("insert into something (id, name) values (2, 'brian')").execute();
  5. h.createStatement("insert into something (id, name) values (3, 'john')").execute();
  6. ResultIterator<Map<String, Object>> it = h.createQuery("select * from something order by id")
  7. .cleanupHandle()
  8. .iterator();
  9. it.next();
  10. it.next();
  11. it.next();
  12. }

代码示例来源:origin: org.jdbi/jdbi

  1. @Test
  2. public void testFetchSize() throws Exception
  3. {
  4. h.createScript("default-data").execute();
  5. Query<Something> q = h.createQuery("select id, name from something order by id").map(Something.class);
  6. q.setFetchSize(1);
  7. ResultIterator<Something> r = q.iterator();
  8. assertTrue(r.hasNext());
  9. r.next();
  10. assertTrue(r.hasNext());
  11. r.next();
  12. assertFalse(r.hasNext());
  13. }

代码示例来源:origin: org.kill-bill.commons/killbill-jdbi

  1. @Test
  2. public void testFetchSize() throws Exception
  3. {
  4. h.createScript("default-data").execute();
  5. Query<Something> q = h.createQuery("select id, name from something order by id").map(Something.class);
  6. q.setFetchSize(1);
  7. ResultIterator<Something> r = q.iterator();
  8. assertTrue(r.hasNext());
  9. r.next();
  10. assertTrue(r.hasNext());
  11. r.next();
  12. assertFalse(r.hasNext());
  13. }

相关文章