Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
/jdbiPublic

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

License

NotificationsYou must be signed in to change notification settings

jdbi/jdbi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Jdbi Logo

CD from master pushes |CI Build with tests |Reliability Rating |Maintainability Rating |Security Rating

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

Jdbi is built on top of JDBC. If your database has a JDBC driver, you can use Jdbi with it.

Also check out the code examples in theExamples module.

Acknowledgements and Funding

Prerequisites

Jdbi requires Java 11 or better to run.

We run CI tests against Java 11, 17 and 21.

Compatibility with older Java versions

Java 8, 9 and 10 are supported by any Jdbi version before3.40.0.

Java 11 is supported by any Jdbi version up to3.50.0.

Java 17 or better is required for Jdbi3.51.0 or newer.

Library compatibility

Jdbi has a very small footprint for its core but supports a huge number of other projects for mapping data, supporting data types. etc.

We run our test suite against a number of library versions for backwards compatibility tests. Currently, we test

Libraries:

  • Google Guava
  • Immutables
  • Jackson
  • JodaTime
  • vavr
  • Google Guice
  • Kotlin
  • Spring Framework

Jdbi will use the latest, stable release of a library. We update these dependencies for releases. For the libraries listed above, we will also test the two previous, stable versions of a library.

Databases:

Jdbi uses PostgreSQL for most of its non-in-memory tests. We test with the latest Postgres release that is supported by our testing libraries and the two previous released versions.

We also run tests inside testcontainers against a large set of databases.

Building

Jdbi requires the latest LTS JDK version (Currently Java 21) or better to build. All release builds are done with the latest LTS version.

Jdbi is "batteries included" and uses theApache Maven Wrapper. If an external Maven installation is used, Apache Maven 3.9 or later is required. Using themake targets requires GNU make.

All build tasks are organized asmake targets.

Build the code an install it into the local repository:

$ make install

Runningmake ormake help displays all available build targets with a short explanation. Some of the goals will require project membership privileges. TheCONTRIBUTING.md document contains a list of all supported targets.

To add command line parameters to the maven executions from the Makefile, set theMAVEN_ARGS variable:

% MAVEN_ARGS="-B -fae" make install

Testing

  • make tests builds the code and runs all unit and integration tests.
  • make run-tests only runs the tests.

Some tests use Postgres and H2 databases (the tests will spin up temporary database servers as needed). Most modern OS (Windows, MacOS, Linux) and host architecture (x86_64, aarch64) should work.

Docker requirements

For a full release build, docker or a docker compatible environmentmust be available. A small number of tests use testcontainers which inturn requires docker.

make install-nodocker skips the tests when building and installing Jdbi locally.make tests-nodocker skips the tests when only running tests.

Supported configurations are

  • Docker Desktop on MacOS
  • docker-ce on Linux
  • podman 3 or better on Linux and MacOS

Other docker installations such asColima may work but are untested and unsupported.

For podman on Linux, the podman socket must be activated (seehttps://stackoverflow.com/questions/71549856/testcontainers-with-podman-in-java-tests)for details. SELinux sometimes interferes with testcontainers ifSELinux is active; make sure that there is an exception configured.

For podman on MacOS, it is necessary to set theDOCKER_HOST environment variable correctly.

Contributing

Please readCONTRIBUTING.mdfor instructions to set up your development environment to build Jdbi.

Versioning

Jdbi usesSemVer to version its public API.

License

This project is licensed under theApache 2.0 license.

Project Members

  • Brian McCallister (@brianm) - Project Founder
  • Steven Schlansker (@stevenschlansker)
  • Henning Schmiedehausen (@hgschmie)

Alumni

  • Artem Prigoda (@arteam)
  • Matthew Hall (@qualidafial)
  • Markus Spann (@spannm)
  • Marnick L'Eau

Special Thanks

  • Alex Harin (@aharin) - Kotlin plugins.
  • Ali Shakiba (@shakiba) - JPA plugin
  • @alwins0n - Vavr plugin.
  • Fred Deschenes (@FredDeschenes) -Kotlin unchecked extensions forJdbi functions.@BindFields,@BindMethods annotations.

About

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

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Sponsor this project

    Languages


    [8]ページ先頭

    ©2009-2025 Movatter.jp