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

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

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

Query.bind介绍

暂无

代码示例

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

  1. @Override
  2. public boolean tableExists(Handle handle, String tableName)
  3. {
  4. return !handle.createQuery("select * from SYS.SYSTABLES where tablename = :tableName")
  5. .bind("tableName", StringUtils.toUpperCase(tableName))
  6. .list()
  7. .isEmpty();
  8. }

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

  1. sql += " FETCH FIRST :n ROWS ONLY";
  2. Query<Map<String, Object>> query = handle.createQuery(sql).bind("start", timestamp.toString());
  3. query = query.bind("n", maxNumStatuses);
  4. query = query.bind("ds", dataSource);

代码示例来源: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 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. getAuditTable()
  2. ).bind("audit_key", key)
  3. .bind("type", type)
  4. .bind("start_date", theInterval.getStart().toString())
  5. .bind("end_date", theInterval.getEnd().toString())
  6. .map(
  7. new ResultSetMapper<AuditEntry>()

代码示例来源: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 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. @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 List<String> inTransaction(Handle handle, TransactionStatus status)
  3. {
  4. return handle.createQuery(fetchQuery)
  5. .bind("val", key)
  6. .map(StringMapper.FIRST)
  7. .list();
  8. }
  9. }

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

  1. @Override
  2. public List<AuditEntry> withHandle(Handle handle)
  3. {
  4. Query<Map<String, Object>> query = handle.createQuery(theQueryString);
  5. if (key != null) {
  6. query.bind("audit_key", key);
  7. }
  8. return query.bind("type", type)
  9. .setMaxRows(theLimit)
  10. .map(
  11. new ResultSetMapper<AuditEntry>()
  12. {
  13. @Override
  14. public AuditEntry map(int index, ResultSet r, StatementContext ctx)
  15. throws SQLException
  16. {
  17. try {
  18. return jsonMapper.readValue(r.getBytes("payload"), AuditEntry.class);
  19. }
  20. catch (IOException e) {
  21. throw new SQLException(e);
  22. }
  23. }
  24. }
  25. )
  26. .list();
  27. }
  28. }

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

  1. .bind("type", type)
  2. .bind("start_date", theInterval.getStart().toString())
  3. .bind("end_date", theInterval.getEnd().toString())
  4. .map(
  5. new ResultSetMapper<AuditEntry>()

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

  1. private Query<Map<String, Object>> createActiveTaskInfoQuery(Handle handle, @Nullable String dataSource)
  2. {
  3. String sql = StringUtils.format(
  4. "SELECT "
  5. + " id, "
  6. + " status_payload, "
  7. + " payload, "
  8. + " datasource, "
  9. + " created_date "
  10. + "FROM "
  11. + " %s "
  12. + "WHERE "
  13. + getWhereClauseForActiveStatusesQuery(dataSource)
  14. + "ORDER BY created_date",
  15. entryTable
  16. );
  17. Query<Map<String, Object>> query = handle.createQuery(sql);
  18. if (dataSource != null) {
  19. query = query.bind("ds", dataSource);
  20. }
  21. return query;
  22. }

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

  1. public byte[] lookupWithHandle(
  2. final Handle handle,
  3. final String tableName,
  4. final String keyColumn,
  5. final String valueColumn,
  6. final String key
  7. )
  8. {
  9. final String selectStatement = StringUtils.format(
  10. "SELECT %s FROM %s WHERE %s = :key", valueColumn,
  11. tableName, keyColumn
  12. );
  13. List<byte[]> matched = handle.createQuery(selectStatement)
  14. .bind("key", key)
  15. .map(ByteArrayMapper.FIRST)
  16. .list();
  17. if (matched.isEmpty()) {
  18. return null;
  19. }
  20. if (matched.size() > 1) {
  21. throw new ISE("Error! More than one matching entry[%d] found for [%s]?!", matched.size(), key);
  22. }
  23. return matched.get(0);
  24. }

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

  1. .bind("dataSource", dataSource)
  2. .bind("start", interval.getStart().toString())
  3. .bind("end", interval.getEnd().toString())
  4. .map(new ResultSetMapper<Pair<DataSegment, String>>()

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

  1. @Override
  2. public List<Map<String, Object>> withHandle(Handle handle)
  3. {
  4. return handle.createQuery(
  5. StringUtils.format("SELECT id FROM %s WHERE id=:id", config.getSegmentsTable())
  6. )
  7. .bind("id", segmentId)
  8. .list();
  9. }
  10. }

代码示例来源: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: 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/incubator-druid

  1. @Override
  2. public boolean tableExists(Handle handle, String tableName)
  3. {
  4. String databaseCharset = handle
  5. .createQuery("SELECT @@character_set_database")
  6. .map(StringMapper.FIRST)
  7. .first();
  8. if (!databaseCharset.startsWith("utf8")) {
  9. throw new ISE(
  10. "Druid requires its MySQL database to be created with an UTF8 charset, found `%1$s`. "
  11. + "The recommended charset is `utf8mb4`.",
  12. databaseCharset
  13. );
  14. } else if (!"utf8mb4".equals(databaseCharset)) {
  15. log.warn("The current database charset `%1$s` does not match the recommended charset `utf8mb4`", databaseCharset);
  16. }
  17. return !handle.createQuery("SHOW tables LIKE :tableName")
  18. .bind("tableName", tableName)
  19. .list()
  20. .isEmpty();
  21. }

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

  1. private boolean segmentExists(final Handle handle, final DataSegment segment)
  2. {
  3. return !handle
  4. .createQuery(StringUtils.format("SELECT id FROM %s WHERE id = :identifier", dbTables.getSegmentsTable()))
  5. .bind("identifier", segment.getId().toString())
  6. .map(StringMapper.FIRST)
  7. .list()
  8. .isEmpty();
  9. }

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

  1. @Override
  2. public List<LogType> withHandle(Handle handle)
  3. {
  4. return handle
  5. .createQuery(
  6. StringUtils.format(
  7. "SELECT log_payload FROM %1$s WHERE %2$s_id = :entryId",
  8. logTable, entryTypeName
  9. )
  10. )
  11. .bind("entryId", entryId)
  12. .map(ByteArrayMapper.FIRST)
  13. .fold(
  14. new ArrayList<>(),
  15. (List<LogType> list, byte[] bytes, FoldController control, StatementContext ctx) -> {
  16. try {
  17. list.add(jsonMapper.readValue(bytes, logType));
  18. return list;
  19. }
  20. catch (IOException e) {
  21. log.makeAlert(e, "Failed to deserialize log")
  22. .addData("entryId", entryId)
  23. .addData("payload", StringUtils.fromUtf8(bytes))
  24. .emit();
  25. throw new SQLException(e);
  26. }
  27. }
  28. );
  29. }
  30. }

相关文章