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

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

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

Query.first介绍

[英]Executes the select.

Specifies a maximum of one result on the JDBC statement, and map that one result as the return value, or return null if there is nothing in the results
[中]执行选择。
在JDBC语句中指定最多一个结果,并将该结果映射为返回值,如果结果中没有任何内容,则返回null

代码示例

代码示例来源: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 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 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. @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. @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. .createQuery(
  2. StringUtils.format(
  3. "SELECT %1$s FROM %2$s WHERE %3$s = :key",
  4. .first();

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

  1. .createQuery(
  2. StringUtils.format("SELECT COUNT(*) FROM %1$s WHERE %2$s = :key", tableName, keyColumn)
  3. .first();
  4. if (count == 0) {
  5. handle.createStatement(

代码示例来源:origin: HubSpot/Singularity

  1. @Override
  2. public int getTaskIdHistoryCount(Optional<String> requestId, Optional<String> deployId, Optional<String> runId, Optional<String> host,
  3. Optional<ExtendedTaskState> lastTaskStatus, Optional<Long> startedBefore, Optional<Long> startedAfter, Optional<Long> updatedBefore,
  4. Optional<Long> updatedAfter) {
  5. final Map<String, Object> binds = new HashMap<>();
  6. final StringBuilder sqlBuilder = new StringBuilder(GET_TASK_ID_HISTORY_COUNT_QUERY);
  7. applyTaskIdHistoryBaseQuery(sqlBuilder, binds, requestId, deployId, runId, host, lastTaskStatus, startedBefore, startedAfter, updatedBefore, updatedAfter);
  8. final String sql = sqlBuilder.toString();
  9. LOG.trace("Generated sql for task search count: {}, binds: {}", sql, binds);
  10. final Query<Integer> query = getHandle().createQuery(sql).mapTo(Integer.class);
  11. for (Map.Entry<String, Object> entry : binds.entrySet()) {
  12. query.bind(entry.getKey(), entry.getValue());
  13. }
  14. return query.first();
  15. }

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

  1. private boolean hasMasterAccess(Handle handle, int project, int user) {
  2. return TRUE.equals(handle.createQuery("select user_id = :user or (select bool_or(master_permission) from web_user_api_key_permission p " +
  3. "join web_user_api_key a on (p.api_key_id = a.id) where p.user_id = :user and a.project_id = :project) from web_user_project where id = :project")
  4. .bind("user", user)
  5. .bind("project", project).map(BooleanMapper.FIRST)
  6. .first());
  7. }

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

  1. @Override
  2. public InputStream getFile(int project, String slug, String file) {
  3. try (Handle handle = dbi.open()) {
  4. return handle.createQuery("SELECT data FROM custom_page WHERE project_id = :project AND slug = :slug")
  5. .bind("project", project)
  6. .bind("slug", slug)
  7. .map((i, resultSet, statementContext) -> {
  8. return new ByteArrayInputStream(((String) JsonHelper.read(resultSet.getString(1), Map.class)
  9. .get(file)).getBytes(UTF_8));
  10. }).first();
  11. }
  12. }

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

  1. public ProjectOwner getProjectOwner(int project) {
  2. try (Handle handle = dbi.open()) {
  3. return handle.createQuery("select web_user.id, web_user.email from web_user join web_user_project project on (project.user_id = web_user.id) where project.id = :id")
  4. .bind("id", project)
  5. .map((index, r, ctx) -> {
  6. return new ProjectOwner(r.getInt(1), r.getString(2));
  7. }).first();
  8. }
  9. }

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

  1. public String getUserStripeId(int id) {
  2. try (Handle handle = dbi.open()) {
  3. return handle
  4. .createQuery("SELECT stripe_id FROM web_user WHERE id = :id")
  5. .bind("id", id).map(StringMapper.FIRST).first();
  6. }
  7. }

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

  1. @Override
  2. public <T> T getConfig(String project, String configName, Class<T> clazz) {
  3. try (Handle handle = dbi.open()) {
  4. return handle.createQuery("SELECT value FROM config WHERE project = :project AND name = :name")
  5. .bind("project", project)
  6. .bind("name", configName.toUpperCase(Locale.ENGLISH)).map((i, resultSet, statementContext) -> {
  7. return JsonHelper.read(resultSet.getString(1), clazz);
  8. }).first();
  9. }
  10. }

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

  1. @Override
  2. public <T> T getConfig(String project, String configName, Class<T> clazz) {
  3. try (Handle handle = dbi.open()) {
  4. return handle.createQuery("SELECT value FROM config WHERE project = :project AND name = :name")
  5. .bind("project", project)
  6. .bind("name", configName.toUpperCase(Locale.ENGLISH)).map((i, resultSet, statementContext) -> {
  7. return JsonHelper.read(resultSet.getString(1), clazz);
  8. }).first();
  9. }
  10. }

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

  1. public Optional<WebUser> getUser(int id) {
  2. List<WebUser.Project> projectDefinitions;
  3. try (Handle handle = dbi.open()) {
  4. final Map<String, Object> data = handle
  5. .createQuery("SELECT id, name, email, read_only, created_at FROM web_user WHERE id = :id")
  6. .bind("id", id).first();
  7. if (data == null) {
  8. return Optional.empty();
  9. }
  10. String name = (String) data.get("name");
  11. String email = (String) data.get("email");
  12. Timestamp createdAt = (Timestamp) data.get("created_at");
  13. id = (int) data.get("id");
  14. projectDefinitions = getUserApiKeys(handle, id);
  15. return Optional.of(new WebUser(id, email, name,
  16. (Boolean) data.get("read_only"), createdAt.toInstant(), generateIntercomHash(email), projectDefinitions));
  17. }
  18. }

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

  1. public Optional<WebUser> getUserByEmail(String email) {
  2. List<WebUser.Project> projectDefinitions;
  3. try (Handle handle = dbi.open()) {
  4. final Map<String, Object> data = handle
  5. .createQuery("SELECT id, name, read_only, created_at FROM web_user WHERE lower(email) = lower(:email)")
  6. .bind("email", email).first();
  7. if (data == null) {
  8. return Optional.empty();
  9. }
  10. String name = (String) data.get("name");
  11. int id = (int) data.get("id");
  12. boolean readOnly = (boolean) data.get("read_only");
  13. Timestamp createdAt = (Timestamp) data.get("created_at");
  14. projectDefinitions = getUserApiKeys(handle, id);
  15. return Optional.of(new WebUser(id, email, name, readOnly, createdAt.toInstant(), generateIntercomHash(email), projectDefinitions));
  16. }
  17. }

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

  1. public <T> T get(Handle handle, @Named("user_id") UIPermissionParameterProvider.Project project, @ApiParam("name") String name) {
  2. return (T) handle.createQuery("SELECT value FROM ui_user_defaults WHERE user_id = :user AND project_id = :project AND name = :name")
  3. .bind("project", project.project)
  4. .bind("user", project.userId)
  5. .bind("name", name.toUpperCase(Locale.ENGLISH))
  6. .map((index, r, ctx) -> {
  7. return JsonHelper.read(r.getString(1), Object.class);
  8. }).first();
  9. }

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

  1. public Map<String, String> get(int project, String slug) {
  2. try (Handle handle = dbi.open()) {
  3. return handle.createQuery("SELECT data FROM custom_page WHERE project_id = :project AND slug = :slug")
  4. .bind("project", project)
  5. .bind("slug", slug)
  6. .map((i, resultSet, statementContext) -> {
  7. return JsonHelper.read(resultSet.getString(1), Map.class);
  8. }).first();
  9. }
  10. }

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

  1. public ABTestingReport get(String project, int id) {
  2. try (Handle handle = dbi.open()) {
  3. return handle.createQuery("SELECT id, name, variants, collection_name, connector_field, goals, options " +
  4. "FROM ab_testing WHERE project = :project AND id = :id")
  5. .bind("project", project)
  6. .bind("id", id).map(mapper).first();
  7. }
  8. }

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

  1. public Lock tryLock(String name, int tryCount) {
  2. Boolean first;
  3. try {
  4. first = currentHandle.createQuery("select get_lock(:name, 1)")
  5. .bind("name", name)
  6. .map(BooleanMapper.FIRST)
  7. .first();
  8. } catch (Exception e) {
  9. synchronized (this) {
  10. currentHandle.createQuery("select release_lock(:name)")
  11. .bind("name", name)
  12. .map(BooleanMapper.FIRST)
  13. .first();
  14. };

相关文章