Giter Site home page Giter Site logo

jdbi3-guava-cache's Introduction

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 the Examples 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 before 3.40.0.

Building

Jdbi requires a JDK version 17 or better to build. We enforce the latest LTS (currently Java 21) for releases.

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

All build tasks are organized as make targets.

Build the code an install it into the local repository:

$ make install

Running make or make help displays all available build targets with a short explanation. Some of the goals will require project membership privileges. The CONTRIBUTING.md document contains a list of all supported targets.

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

% MAVEN_CONFIG="-B -fae" make install

Testing

Running make tests runs all unit and integration 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 environment must be available. A small number of tests use testcontainers which in turn 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 as Colima may work but are untested and unsupported.

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

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

Contributing

Please read CONTRIBUTING.md for instructions to set up your development environment to build Jdbi.

Versioning

Jdbi uses SemVer to version its public API.

License

This project is licensed under the Apache 2.0 license.

Project Members

  • Brian McCallister (@brianm) - Project Founder
  • Steven Schlansker (@stevenschlansker)
  • Henning Schmiedehausen (@hgschmie)
  • Matthew Hall (@qualidafial)
  • Artem Prigoda (@arteam)
  • Marnick L'Eau (@TheRealMarnes)

Special Thanks

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

jdbi3-guava-cache's People

Contributors

hgschmie avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

isabella232

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.