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

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

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

Query.map介绍

[英]Provide basic JavaBean mapping capabilities. Will instantiate an instance of resultType for each row and set the JavaBean properties which match fields in the result set.
[中]提供基本的JavaBean映射功能。将为每一行实例化resultType的实例,并设置与结果集中的字段匹配的JavaBean属性。

代码示例

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

  1. @Override
  2. public List<Pair<String, String>> withHandle(Handle handle)
  3. {
  4. return handle
  5. .createQuery(
  6. buildLookupQuery(table, filter, keyColumn, valueColumn)
  7. ).map(
  8. new ResultSetMapper<Pair<String, String>>()
  9. {
  10. @Override
  11. public Pair<String, String> map(
  12. final int index,
  13. final ResultSet r,
  14. final StatementContext ctx
  15. ) throws SQLException
  16. {
  17. return new Pair<>(r.getString(keyColumn), r.getString(valueColumn));
  18. }
  19. }
  20. ).list();
  21. }
  22. }

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

  1. @Override
  2. public Timestamp withHandle(Handle handle)
  3. {
  4. final String query = StringUtils.format(
  5. "SELECT MAX(%s) FROM %s",
  6. tsColumn, table
  7. );
  8. return handle
  9. .createQuery(query)
  10. .map(TimestampMapper.FIRST)
  11. .first();
  12. }
  13. }

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

  1. @Override
  2. public List<TaskInfo<EntryType, StatusType>> getActiveTaskInfo(@Nullable String dataSource)
  3. {
  4. return getConnector().retryWithHandle(
  5. handle -> {
  6. final Query<Map<String, Object>> query = createActiveTaskInfoQuery(
  7. handle,
  8. dataSource
  9. );
  10. return query.map(taskInfoMapper).list();
  11. }
  12. );
  13. }

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

  1. @Test
  2. public void testMapEnumValues() throws Exception
  3. {
  4. Handle h = openHandle();
  5. h.createStatement("insert into something (id, name) values (1, 'eric')").execute();
  6. h.createStatement("insert into something (id, name) values (2, 'brian')").execute();
  7. List<SomethingElse> results = h.createQuery("select * from something order by id")
  8. .map(SomethingElse.class)
  9. .list();
  10. assertEquals(SomethingElse.Name.eric, results.get(0).name);
  11. assertEquals(SomethingElse.Name.brian, results.get(1).name);
  12. }

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

  1. @Test
  2. public void testFluentApi() throws Exception
  3. {
  4. Map<String, Team> teams = handle.createQuery("select t.name as teamName, " +
  5. " t.mascot as mascot, " +
  6. " p.name as personName, " +
  7. " p.role as role " +
  8. "from team t inner join person p on (t.name = p.team)")
  9. .map(TeamPersonJoinRow.class)
  10. .fold(Maps.<String, Team>newHashMap(), new TeamFolder());
  11. assertThat(teams, equalTo(expected));
  12. }

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

  1. @Test
  2. public void testMapEnumValues() throws Exception
  3. {
  4. Handle h = openHandle();
  5. h.createStatement("insert into something (id, name) values (1, 'eric')").execute();
  6. h.createStatement("insert into something (id, name) values (2, 'brian')").execute();
  7. List<SomethingElse> results = h.createQuery("select * from something order by id")
  8. .map(SomethingElse.class)
  9. .list();
  10. assertEquals(SomethingElse.Name.eric, results.get(0).name);
  11. assertEquals(SomethingElse.Name.brian, results.get(1).name);
  12. }

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

  1. @Test
  2. public void testFluentApi() throws Exception
  3. {
  4. Map<String, Team> teams = handle.createQuery("select t.name as teamName, " +
  5. " t.mascot as mascot, " +
  6. " p.name as personName, " +
  7. " p.role as role " +
  8. "from team t inner join person p on (t.name = p.team)")
  9. .map(TeamPersonJoinRow.class)
  10. .fold(Maps.<String, Team>newHashMap(), new TeamFolder());
  11. assertThat(teams, equalTo(expected));
  12. }

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

  1. @Override
  2. public boolean tableExists(final Handle handle, final String tableName)
  3. {
  4. return !handle.createQuery(
  5. "SELECT tablename FROM pg_catalog.pg_tables WHERE schemaname = 'public' AND tablename ILIKE :tableName"
  6. )
  7. .bind("tableName", tableName)
  8. .map(StringMapper.FIRST)
  9. .list()
  10. .isEmpty();
  11. }

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

  1. @Override
  2. public Optional<StatusType> withHandle(Handle handle) throws Exception
  3. {
  4. byte[] res = handle.createQuery(
  5. StringUtils.format("SELECT status_payload FROM %s WHERE id = :id", entryTable)
  6. )
  7. .bind("id", entryId)
  8. .map(ByteArrayMapper.FIRST)
  9. .first();
  10. return Optional.fromNullable(
  11. res == null ? null : jsonMapper.readValue(res, statusType)
  12. );
  13. }
  14. }

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

  1. @Override
  2. public List<TaskInfo<EntryType, StatusType>> getCompletedTaskInfo(
  3. DateTime timestamp,
  4. @Nullable Integer maxNumStatuses,
  5. @Nullable String dataSource
  6. )
  7. {
  8. return getConnector().retryWithHandle(
  9. handle -> {
  10. final Query<Map<String, Object>> query = createCompletedTaskInfoQuery(
  11. handle,
  12. timestamp,
  13. maxNumStatuses,
  14. dataSource
  15. );
  16. return query.map(taskInfoMapper).list();
  17. }
  18. );
  19. }

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

  1. @Test
  2. public void testAPIWorks() throws Exception
  3. {
  4. Spiffy s = SqlObjectBuilder.onDemand(dbi, Spiffy.class);
  5. s.insert(7, "Bill");
  6. String bill = handle.createQuery("select name from something where id = 7").map(StringMapper.FIRST).first();
  7. assertEquals("Bill", bill);
  8. }

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

  1. @Test
  2. public void testDefines() throws Exception
  3. {
  4. handle.attach(Kangaroo.class).weirdInsert("something", "id", "name", 5, "Bouncer");
  5. String name = handle.createQuery("select name from something where id = 5")
  6. .map(StringMapper.FIRST)
  7. .first();
  8. assertThat(name, equalTo("Bouncer"));
  9. }

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

  1. @Override
  2. public List<String> inTransaction(Handle handle, TransactionStatus status)
  3. {
  4. return handle.createQuery(reverseFetchQuery)
  5. .bind("val", value)
  6. .map(StringMapper.FIRST)
  7. .list();
  8. }
  9. });

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

  1. @Override
  2. public Optional<EntryType> withHandle(Handle handle) throws Exception
  3. {
  4. byte[] res = handle.createQuery(
  5. StringUtils.format("SELECT payload FROM %s WHERE id = :id", entryTable)
  6. )
  7. .bind("id", entryId)
  8. .map(ByteArrayMapper.FIRST)
  9. .first();
  10. return Optional.fromNullable(
  11. res == null ? null : jsonMapper.readValue(res, entryType)
  12. );
  13. }
  14. }

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

  1. boundQuery = boundQuery.bind(var.lhs, var.rhs);
  2. final List<byte[]> existingBytes = boundQuery.map(ByteArrayMapper.FIRST).list();

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

  1. @Test
  2. public void testListWithMaxRows() throws Exception
  3. {
  4. h.prepareBatch("insert into something (id, name) values (:id, :name)")
  5. .add(1, "Brian")
  6. .add(2, "Keith")
  7. .add(3, "Eric")
  8. .execute();
  9. assertEquals(1, h.createQuery("select id, name from something").map(Something.class).list(1).size());
  10. assertEquals(2, h.createQuery("select id, name from something").map(Something.class).list(2).size());
  11. }

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

  1. @Test
  2. public void testBaz() throws Exception
  3. {
  4. Wombat wombat = handle.attach(Wombat.class);
  5. wombat.insert(new Something(7, "Henning"));
  6. String name = handle.createQuery("select name from something where id = 7")
  7. .map(StringMapper.FIRST)
  8. .first();
  9. assertThat(name, equalTo("Henning"));
  10. }

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

  1. @Override
  2. public boolean tableExists(final Handle handle, final String tableName)
  3. {
  4. return !handle.createQuery("SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = :tableName")
  5. .bind("tableName", tableName)
  6. .map(StringMapper.FIRST)
  7. .list()
  8. .isEmpty();
  9. }

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

  1. @Override
  2. @Nullable
  3. public TaskInfo<EntryType, StatusType> getTaskInfo(String entryId)
  4. {
  5. return connector.retryWithHandle(handle -> {
  6. final String query = StringUtils.format(
  7. "SELECT id, status_payload, payload, datasource, created_date FROM %s WHERE id = :id",
  8. entryTable
  9. );
  10. return handle.createQuery(query)
  11. .bind("id", entryId)
  12. .map(taskInfoMapper)
  13. .first();
  14. });
  15. }

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

  1. @Test
  2. public void testBindConstantValue() throws Exception
  3. {
  4. UsesBatching b = handle.attach(UsesBatching.class);
  5. List<Integer> ids = Arrays.asList(1, 2, 3, 4, 5);
  6. b.withConstantValue(ids, "Johan");
  7. assertThat(b.size(), equalTo(5));
  8. List<String> names = handle.createQuery("select distinct name from something")
  9. .map(StringMapper.FIRST)
  10. .list();
  11. assertThat(names, equalTo(Arrays.asList("Johan")));
  12. }

相关文章