{"id":15044606,"url":"https://github.com/jdbi/jdbi","last_synced_at":"2025-05-14T22:02:35.362Z","repository":{"id":594784,"uuid":"229738","full_name":"jdbi/jdbi","owner":"jdbi","description":"The Jdbi library provides convenient, idiomatic access to relational databases in Java and other JVM technologies such as Kotlin, Clojure or Scala.","archived":false,"fork":false,"pushed_at":"2025-05-06T05:02:59.000Z","size":28295,"stargazers_count":2045,"open_issues_count":138,"forks_count":349,"subscribers_count":75,"default_branch":"master","last_synced_at":"2025-05-07T21:12:08.283Z","etag":null,"topics":["database","hacktoberfest","java","java11","jdbc","jdbi","kotlin","sql"],"latest_commit_sha":null,"homepage":"http://jdbi.org/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jdbi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":"FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"tidelift":"maven/org.jdbi:jdbi3-core"}},"created_at":"2009-06-17T16:36:36.000Z","updated_at":"2025-05-06T13:38:56.000Z","dependencies_parsed_at":"2023-07-09T04:46:16.487Z","dependency_job_id":"5450911d-c3ba-4a8e-9fe4-76624407851e","html_url":"https://github.com/jdbi/jdbi","commit_stats":{"total_commits":4401,"total_committers":187,"mean_commits":23.53475935828877,"dds":0.8413996818904794,"last_synced_commit":"18958cb2ca00def74f1bedc29363a66ca1db98b5"},"previous_names":[],"tags_count":262,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jdbi%2Fjdbi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jdbi%2Fjdbi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jdbi%2Fjdbi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jdbi%2Fjdbi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jdbi","download_url":"https://codeload.github.com/jdbi/jdbi/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254235685,"owners_count":22036962,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["database","hacktoberfest","java","java11","jdbc","jdbi","kotlin","sql"],"created_at":"2024-09-24T20:50:47.584Z","updated_at":"2025-05-14T22:02:30.351Z","avatar_url":"https://github.com/jdbi.png","language":"Java","funding_links":["https://tidelift.com/funding/github/maven/org.jdbi:jdbi3-core"],"categories":["数据库开发","II. Databases, search engines, big data and machine learning","Java","database"],"sub_categories":["5. ORM"],"readme":"![Jdbi Logo](docs/src/adoc/images/logo.svg)\n\n[![CD from master pushes](https://github.com/jdbi/jdbi/actions/workflows/cd.yml/badge.svg)](https://github.com/jdbi/jdbi/actions/workflows/cd.yml) |\n[![CI Build with tests](https://github.com/jdbi/jdbi/actions/workflows/ci.yml/badge.svg)](https://github.com/jdbi/jdbi/actions/workflows/ci.yml) | [![Reliability Rating](https://sonarcloud.io/api/project_badges/measure?project=jdbi_jdbi\u0026metric=reliability_rating)](https://sonarcloud.io/summary/new_code?id=jdbi_jdbi) | [![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=jdbi_jdbi\u0026metric=sqale_rating)](https://sonarcloud.io/summary/new_code?id=jdbi_jdbi) | [![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=jdbi_jdbi\u0026metric=security_rating)](https://sonarcloud.io/summary/new_code?id=jdbi_jdbi)\n\n\n\nThe Jdbi library provides convenient, idiomatic access to relational databases in Java and other JVM technologies such as Kotlin, Clojure or Scala.\n\nJdbi is built on top of JDBC. If your database has a JDBC driver, you can use Jdbi with it.\n\n\n* [Developer Guide](https://jdbi.org/)\n* [Javadoc](https://jdbi.org/apidocs/)\n* [User forums](https://github.com/jdbi/jdbi/discussions)\n* [Mailing List](http://groups.google.com/group/jdbi)\n* [Stack Overflow](https://stackoverflow.com/questions/tagged/jdbi)\n\nAlso check out the code examples in the [Examples](https://github.com/jdbi/jdbi/tree/master/examples) module.\n\n## Acknowledgements and Funding\n\n* \u003cimg src=\"docs/src/adoc/images/spotify_logo.svg\" alt=\"spotify logo\" title=\"spotify logo\" width=\"30\" height=\"30\" style=\"vertical-align: middle; padding: 2px;\"\u003e \u003ca href=\"https://engineering.atspotify.com/2023/10/announcing-the-recipients-of-the-2023-spotify-foss-fund/\"\u003eJdbi is a recipient of the Spotify FOSS 2023 Fund\u003c/a\u003e\n* \u003cimg src=\"docs/src/adoc/images/tidelift_logo.png\" alt=\"tidelift logo\" title=\"tidelift logo\" width=\"30\" height=\"30\" style=\"vertical-align: middle; padding: 2px;\"\u003e\u003ca href=\"https://tidelift.com/funding/github/maven/org.jdbi:jdbi3-core\"\u003eJdbi is supported by Tidelift\u003c/a\u003e\n\n## Prerequisites\n\nJdbi requires Java 11 or better to run.\n\nWe run CI tests against Java 11, 17 and 21.\n\n\n### Compatibility with older Java versions\n\nJava 8, 9 and 10 are supported by any Jdbi version before **3.40.0**.\n\nJava 11 is supported by any Jdbi version up to **3.50.0**.\n\nJava 17 or better is required for Jdbi **3.51.0** or newer.\n\n### Library compatibility\n\nJdbi has a very small footprint for its core but supports a huge number of other projects for mapping data, supporting data types. etc.\n\nWe run our test suite against a number of library versions for backwards compatibility tests. Currently, we test\n\nLibraries:\n\n- Google Guava\n- Immutables\n- Jackson\n- JodaTime\n- vavr\n- Google Guice\n- Kotlin\n- Spring Framework\n\nJdbi 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.\n\nDatabases:\n\nJdbi 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.\n\nWe also run tests inside testcontainers against a large set of databases.\n\n## Building\n\nJdbi requires the latest LTS JDK version (Currently Java 21) or better to build. All release builds are done with the latest LTS version.\n\nJdbi is \"batteries included\" and uses the [Apache Maven Wrapper](https://maven.apache.org/wrapper/). If an external Maven installation is used, Apache Maven 3.9 or later is required. Using the `make` targets requires GNU make.\n\nAll build tasks are organized as `make` targets.\n\nBuild the code an install it into the local repository:\n\n```bash\n$ make install\n```\n\nRunning `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](https://github.com/jdbi/jdbi/blob/master/CONTRIBUTING.md) document contains a list of all supported targets.\n\nTo add command line parameters to the maven executions from the Makefile, set the `MAVEN_ARGS` variable:\n\n``` bash\n% MAVEN_ARGS=\"-B -fae\" make install\n```\n\n## Testing\n\n* `make tests` builds the code and runs all unit and integration tests.\n* `make run-tests` only runs the tests.\n\nSome 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.\n\n\n### Docker requirements\n\nFor a full release build, docker or a docker compatible environment\nmust be available. A small number of tests use testcontainers which in\nturn requires docker.\n\n`make install-nodocker` skips the tests when building and installing Jdbi locally. `make tests-nodocker` skips the tests when only running tests.\n\nSupported configurations are\n\n* Docker Desktop on MacOS\n* docker-ce on Linux\n* podman 3 or better on Linux and MacOS\n\nOther docker installations such as [Colima](https://github.com/abiosoft/colima) may work but are untested and unsupported.\n\nFor podman on Linux, the podman socket must be activated (see\nhttps://stackoverflow.com/questions/71549856/testcontainers-with-podman-in-java-tests)\nfor details. SELinux sometimes interferes with testcontainers if\nSELinux is active; make sure that there is an exception configured.\n\nFor podman on MacOS, it is necessary to set the `DOCKER_HOST` environment variable correctly.\n\n\n## Contributing\n\nPlease read\n[CONTRIBUTING.md](https://github.com/jdbi/jdbi/blob/master/CONTRIBUTING.md)\nfor instructions to set up your development environment to build Jdbi.\n\n\n## Versioning\n\nJdbi uses [SemVer](http://semver.org/) to version its public API.\n\n\n## License\n\nThis project is licensed under the\n[Apache 2.0 license](https://www.apache.org/licenses/LICENSE-2.0.html).\n\n\n## Project Members\n\n* **Brian McCallister (@brianm)** - Project Founder\n* **Steven Schlansker (@stevenschlansker)**\n* **Henning Schmiedehausen (@hgschmie)**\n\n\n## Alumni\n\n* **Artem Prigoda (@arteam)**\n* **Matthew Hall (@qualidafial)**\n* **Markus Spann (@spannm)**\n* **Marnick L'Eau**\n\n\n## Special Thanks\n\n* **Alex Harin ([@aharin](https://github.com/aharin))** - Kotlin plugins.\n* **Ali Shakiba ([@shakiba](https://github.com/shakiba))** - JPA plugin\n* **[@alwins0n](https://github.com/alwins0n)** - Vavr plugin.\n* **Fred Deschenes ([@FredDeschenes](https://github.com/FredDeschenes))** -\n  Kotlin unchecked extensions for `Jdbi` functions. `@BindFields`,\n  `@BindMethods` annotations.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjdbi%2Fjdbi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjdbi%2Fjdbi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjdbi%2Fjdbi/lists"}