jdbi
Jdbi is a lightweight Java library that makes it easier to work with relational databases by wrapping JDBC with a more convenient API. It supports multiple JVM languages and integrates with popular frameworks like Spring, Guice, and Jackson.
Key facts
Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.
| Field | Value |
|---|---|
| Repository | jdbi/jdbi |
| Owner | jdbi |
| Primary language | Java |
| License | Apache-2.0 — OSI-approved |
| Stars | 2.1k |
| Forks | 364 |
| Open issues | 147 |
| Latest release | v3.54.0 (2026-07-01) |
| Last updated | 2026-07-01 |
| Source | https://github.com/jdbi/jdbi |
What jdbi is
Jdbi provides an idiomatic SQL abstraction layer on top of JDBC, supporting prepared statements, result mapping, and fluent query building. It requires Java 17+ (v3.50.0+), includes plugins for Kotlin, Immutables, Jackson, and other libraries, and is tested against multiple database backends via testcontainers.
Get the jdbi source
Clone the repository and explore it locally.
git clone https://github.com/jdbi/jdbi.gitcd jdbi# follow the project's README for install & configurationNeed it deployed, integrated, or customized instead? DEV.co ships production installs.
Best use cases
Implementation considerations
- Java 17+ is mandatory for v3.50.0 or later; plan JDK upgrade if still on Java 11 or 16.
- Core library is small but plugin ecosystem (Spring, Guice, Kotlin, Jackson) should be evaluated against your actual dependencies to avoid version conflicts.
- Result mapping requires explicit configuration or annotation (Jackson, Immutables integration); default behavior is minimal, requiring developer intent.
- Requires a JDBC driver for your target database; Jdbi itself is driver-agnostic but must be paired with the appropriate connector.
- Testing involves spinning up live database instances (H2, PostgreSQL, or via testcontainers); ensure CI/CD pipeline supports Docker or podman.
When to avoid it — and what to weigh
- Require Java 8–16 Support — Jdbi v3.50.0+ mandates Java 17 or later. Projects locked to earlier Java versions must use pre-3.50.0 releases, which are no longer actively maintained.
- Need Advanced ORM Features — If your application requires complex entity relationships, automatic schema generation, or lazy loading, Hibername or JPA is a better fit. Jdbi remains a SQL-focused, lower-level abstraction.
- No Docker / Testcontainers Infrastructure — Full test coverage (including database-specific tests) requires Docker or podman. Building and testing without containerization requires skipping significant test suites and may mask compatibility issues.
- Unfamiliar with JDBC and SQL — Jdbi assumes SQL literacy and JDBC familiarity. It streamlines but does not eliminate SQL writing; teams new to relational databases should consider higher-level ORMs.
License & commercial use
Licensed under Apache License 2.0, a permissive OSI-approved license permitting commercial use, modification, and distribution with minimal restrictions.
Apache 2.0 permits commercial use without licensing fees. No proprietary or copyleft restrictions apply. Review included dependencies for their own licenses if bundling or modifying Jdbi for distribution. No warranty or liability guarantees are provided.
DEV.co evaluation signals
Editorial assessment — not user reviews. Directional, with an explicit confidence level.
| Signal | Assessment |
|---|---|
| Maintenance | Active |
| Documentation | Adequate |
| License clarity | Clear |
| Deployment complexity | Low |
| DEV.co fit | Good |
| Assessment confidence | High |
Jdbi wraps JDBC and does not implement cryptography, authentication, or network security itself. Security posture depends on JDBC driver, database server configuration, and application-level credential management. SonarCloud integration indicates ongoing code quality monitoring. No public security advisories or known CVEs mentioned; standard JDBC connection handling practices (credential injection, connection pooling) should be followed.
Alternatives to consider
Hibernate / JPA
Full-featured ORM with lazy loading, relationship management, and schema generation. Heavier footprint and steeper learning curve; suitable for complex domain models.
jOOQ
Type-safe SQL query builder with code generation. More expressive for complex SQL; commercial license available but open-source variant exists. Better for SQL-heavy applications requiring DSL safety.
MyBatis
SQL-first mapper with XML or annotation-based configuration. Similar philosophy to Jdbi (SQL control) but heavier configuration; widely adopted in enterprise environments.
Build on jdbi with DEV.co software developers
Jdbi is ideal for teams building microservices or multi-language JVM applications. We help you integrate Jdbi into your architecture, plan Java upgrades, and optimize data access patterns. Let's talk.
Talk to DEV.coRelated open-source tools
Surfaced by semantic similarity across the DEV.co open-source index.
Related on DEV.co
Explore the category and the services that help you build with it.
jdbi FAQ
Does Jdbi work with my database?
Can I use Jdbi with Spring Boot?
What Java versions are supported?
Is there commercial support?
Software developers & web developers for hire
From first prototype to production, DEV.co delivers software development services around tools like jdbi. Our software development agency staffs experienced software developers and web developers for custom software development, web development, integrations, and ongoing support across open-source databases and beyond.
Ready to Streamline Your Database Layer?
Jdbi is ideal for teams building microservices or multi-language JVM applications. We help you integrate Jdbi into your architecture, plan Java upgrades, and optimize data access patterns. Let's talk.