# jdbi/jdbi

The Jdbi library provides convenient, idiomatic access to relational databases in Java and other JVM technologies such as Kotlin, Clojure or Scala.

Repository: https://github.com/jdbi/jdbi
Canonical: https://ross.abutalabs.com/products/jdbi
Homepage: http://jdbi.org/
Language: Java
License: Apache-2.0
License Family: permissive
Topics: java, database, jdbc, sql, hacktoberfest, java11, kotlin, jdbi
Last push: 2026-08-26T05:32:57+00:00

## Health v2 (maintenance only)
Score: 96/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 99, release rhythm 91, longevity 100
- inputs: {"age_days": 6286, "days_push": 7, "days_rel": 63, "gap_med": 27, "n_releases_24m": 16}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 2136, forks 367 (observed 2026-08-28T04:06:17.612494+00:00)

## What it is
Jdbi is a Java library providing convenient, idiomatic access to relational databases on top of JDBC, with fluent and declarative APIs. It works with any database that has a JDBC driver and supports JVM languages like Kotlin, Clojure, and Scala.

## Use cases
- query relational databases from Java without raw JDBC boilerplate
- map SQL result rows to Java objects, records, or Immutables types
- write type-safe declarative SQL interface methods in Kotlin or Java
- run batches, stored procedures, and prepared statements conveniently
- access PostgreSQL, H2, or any JDBC-compatible database from a JVM app
- replace heavyweight ORM with a lightweight SQL-first data access layer

## When to choose
- you want SQL-first data access on the JVM without full ORM overhead
- your database has a JDBC driver and you use Java 17+ (or an older Jdbi for Java 8-11)
- you need flexible row/column mapping to POJOs, beans, Immutables, or vavr types
- you prefer fluent or annotation-based declarative APIs over JPA/Hibernate

## When to avoid
- you need full ORM features like entity relationships, lazy loading, or schema generation
- you are not on the JVM or your database lacks a JDBC driver
- you want a fully database-agnostic query builder that hides SQL entirely

## Facets
- artifact type: library
- maturity: active
- function: database, database-driver, orm
- domain: databases, developer-tools, backend
- platform: jvm, cross-platform
- tags: jdbc, sql, fluent-api, declarative-api, row-mapping, scala, clojure

## Member repositories
- jdbi/jdbi (main) score 96

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:06:17.612494+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T02:51:52.788171+00:00, confidence not recorded.
  - readme: https://github.com/jdbi/jdbi (fetched 2026-08-28T04:06:17.612494+00:00, sha 704795d160eb)
  - homepage: http://jdbi.org/ (fetched 2026-08-29T10:31:57.921229+00:00, sha 6c700b35b710)
  - site_page: https://jdbi.org/apidocs (fetched 2026-08-29T10:31:57.928438+00:00, sha 3a87ca2ab5ef)
  - site_page: https://jdbi.org/releases/3.54.0 (fetched 2026-08-29T10:31:57.932143+00:00, sha 3df9988f0e90)
  - site_page: https://jdbi.org/releases/3.53.0 (fetched 2026-08-29T10:31:57.938274+00:00, sha a5692731a703)
  - site_page: https://jdbi.org/releases/3.52.1 (fetched 2026-08-29T10:31:57.944860+00:00, sha 422e2976bfab)
  - site_page: https://jdbi.org/releases/3.52.0 (fetched 2026-08-29T10:31:57.951079+00:00, sha d4ec1220562c)
  - site_page: https://jdbi.org/releases/3.51.0 (fetched 2026-08-29T10:31:57.957311+00:00, sha 6c0fdd8b8603)
  - site_page: https://jdbi.org/releases/3.50.0 (fetched 2026-08-29T10:31:57.963085+00:00, sha 9be43dee611e)
  - site_page: https://jdbi.org/releases/3.49.6 (fetched 2026-08-29T10:31:57.969540+00:00, sha ab8eb0c2dcac)
- Data as of 2026-08-30T08:39:29.467469+00:00.
